Commit 96e5c97d authored by Mike Ryan's avatar Mike Ryan

#35: Added KeyMap tests.

parent fdc5671c
Pipeline #52810942 passed with stage
in 2 minutes and 39 seconds
......@@ -8,6 +8,9 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
## [Unreleased]
### Added
- Tests for `Extractor`, `KeyMap`, and `Loader` components.
## [0.4.0] - 2019-02-15
### Added
......
......@@ -142,10 +142,12 @@ $(document).ready(function(){initNavTree('annotated.html','');});
<tr id="row_0_7_0_1_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_7_0_1_" class="arrow" onclick="toggleFolder('0_7_0_1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Extractor</b></td><td class="desc"></td></tr>
<tr id="row_0_7_0_1_0_" class="even"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_extractor_1_1_countable_extractor_test_base.html" target="_self">CountableExtractorTestBase</a></td><td class="desc">Base class for testing CountableExtractor implementations </td></tr>
<tr id="row_0_7_0_1_1_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_extractor_1_1_extractor_test_base.html" target="_self">ExtractorTestBase</a></td><td class="desc">Base class for testing Extractor implementations </td></tr>
<tr id="row_0_7_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_7_0_2_" class="arrow" onclick="toggleFolder('0_7_0_2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Loader</b></td><td class="desc"></td></tr>
<tr id="row_0_7_0_2_0_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_loader_1_1_loader_test_base.html" target="_self">LoaderTestBase</a></td><td class="desc">Base class for testing Loader implementations </td></tr>
<tr id="row_0_7_0_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_7_0_3_" class="arrow" onclick="toggleFolder('0_7_0_3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Transformer</b></td><td class="desc"></td></tr>
<tr id="row_0_7_0_3_0_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_transformer_1_1_trans_former_test_base.html" target="_self">TransFormerTestBase</a></td><td class="desc">Base class for testing Transformer implementations </td></tr>
<tr id="row_0_7_0_2_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_7_0_2_" class="arrow" onclick="toggleFolder('0_7_0_2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>KeyMap</b></td><td class="desc"></td></tr>
<tr id="row_0_7_0_2_0_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html" target="_self">KeyMapTestBase</a></td><td class="desc">Base class for testing KeyMap implementations </td></tr>
<tr id="row_0_7_0_3_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_7_0_3_" class="arrow" onclick="toggleFolder('0_7_0_3_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Loader</b></td><td class="desc"></td></tr>
<tr id="row_0_7_0_3_0_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_loader_1_1_loader_test_base.html" target="_self">LoaderTestBase</a></td><td class="desc">Base class for testing Loader implementations </td></tr>
<tr id="row_0_7_0_4_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_0_7_0_4_" class="arrow" onclick="toggleFolder('0_7_0_4_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Transformer</b></td><td class="desc"></td></tr>
<tr id="row_0_7_0_4_0_"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_transformer_1_1_trans_former_test_base.html" target="_self">TransFormerTestBase</a></td><td class="desc">Base class for testing Transformer implementations </td></tr>
<tr id="row_0_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_8_" class="arrow" onclick="toggleFolder('0_8_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><b>Transformer</b></td><td class="desc"></td></tr>
<tr id="row_0_8_0_"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_soong_1_1_transformer_1_1_copy.html" target="_self">Copy</a></td><td class="desc">Transformer to simply copy extracted data to the destination </td></tr>
<tr id="row_0_8_1_" class="even"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_soong_1_1_transformer_1_1_double.html" target="_self">Double</a></td><td class="desc">Transformer to multiply the extracted data value by 2 </td></tr>
......
......@@ -66,6 +66,9 @@ var annotated_dup =
[ "CountableExtractorTestBase", "class_soong_1_1_tests_1_1_contracts_1_1_extractor_1_1_countable_extractor_test_base.html", "class_soong_1_1_tests_1_1_contracts_1_1_extractor_1_1_countable_extractor_test_base" ],
[ "ExtractorTestBase", "class_soong_1_1_tests_1_1_contracts_1_1_extractor_1_1_extractor_test_base.html", "class_soong_1_1_tests_1_1_contracts_1_1_extractor_1_1_extractor_test_base" ]
] ],
[ "KeyMap", null, [
[ "KeyMapTestBase", "class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html", "class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base" ]
] ],
[ "Loader", null, [
[ "LoaderTestBase", "class_soong_1_1_tests_1_1_contracts_1_1_loader_1_1_loader_test_base.html", "class_soong_1_1_tests_1_1_contracts_1_1_loader_1_1_loader_test_base" ]
] ],
......
......@@ -276,7 +276,7 @@ Additional Inherited Members</h2></td></tr>
</table>
</div><div class="memdoc">
<p>Retrieve any extracted keys mapped to a given loaded key.Note that multiple extracted keys may map to one loaded key.<dl class="params"><dt>Parameters</dt><dd>
<p>Retrieve any extracted keys mapped to a given loaded key.Note that multiple extracted keys may map to one loaded key - while lookupLoadedKey returns a single key array, lookupExtractedKeys returns an array of key arrays.<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$loadedKey</td><td>Loaded key values, keyed by key names.</td></tr>
</table>
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Soong: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Soong
</div>
<div id="projectbrief">Soong provides a general-purpose ETL library for data migration.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">KeyMapTestBase Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html">KeyMapTestBase</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a2ca662db192b9b80873cddbdb45cc01e">$keyMapClass</a></td><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html">KeyMapTestBase</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a4767dbf77a7ab14ccb61f7f83ffbd842">deleteDataProvider</a>()</td><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html">KeyMapTestBase</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a64c856cbf424b045eac0aa69ded5524a">lookupExtractedKeysDataProvider</a>()</td><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html">KeyMapTestBase</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#aecff03f669f2bb98dae5a571460b8dc9">lookupLoadedKeyDataProvider</a>()</td><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html">KeyMapTestBase</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a65e0ecb6c10d308afd27c7b3bf151025">testDelete</a>(array $keyMetadata, array $mapData, array $keysToDelete)</td><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html">KeyMapTestBase</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a423879218ad9ed9b110f3aa90574ac98">testLookupExtractedKeys</a>(array $keyMetadata, array $mapData, array $loadedKeysToLookup, array $expectedExtractedKeys)</td><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html">KeyMapTestBase</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#aff8359aef995e3be4c99ed299a62fba8">testLookupLoadedKey</a>(array $keyMetadata, array $mapData, array $extractedKeysToLookup, array $expectedLoadedKeys)</td><td class="entry"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html">KeyMapTestBase</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
</ul>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Soong: KeyMapTestBase Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Soong
</div>
<div id="projectbrief">Soong provides a general-purpose ETL library for data migration.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">KeyMapTestBase Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for KeyMapTestBase:</div>
<div class="dyncontent">
<div class="center">
<img src="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.png" alt=""/>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4767dbf77a7ab14ccb61f7f83ffbd842"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a4767dbf77a7ab14ccb61f7f83ffbd842">deleteDataProvider</a> ()</td></tr>
<tr class="separator:a4767dbf77a7ab14ccb61f7f83ffbd842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64c856cbf424b045eac0aa69ded5524a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a64c856cbf424b045eac0aa69ded5524a">lookupExtractedKeysDataProvider</a> ()</td></tr>
<tr class="separator:a64c856cbf424b045eac0aa69ded5524a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecff03f669f2bb98dae5a571460b8dc9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#aecff03f669f2bb98dae5a571460b8dc9">lookupLoadedKeyDataProvider</a> ()</td></tr>
<tr class="separator:aecff03f669f2bb98dae5a571460b8dc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65e0ecb6c10d308afd27c7b3bf151025"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a65e0ecb6c10d308afd27c7b3bf151025">testDelete</a> (array $keyMetadata, array $mapData, array $keysToDelete)</td></tr>
<tr class="separator:a65e0ecb6c10d308afd27c7b3bf151025"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a423879218ad9ed9b110f3aa90574ac98"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a423879218ad9ed9b110f3aa90574ac98">testLookupExtractedKeys</a> (array $keyMetadata, array $mapData, array $loadedKeysToLookup, array $expectedExtractedKeys)</td></tr>
<tr class="separator:a423879218ad9ed9b110f3aa90574ac98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff8359aef995e3be4c99ed299a62fba8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#aff8359aef995e3be4c99ed299a62fba8">testLookupLoadedKey</a> (array $keyMetadata, array $mapData, array $extractedKeysToLookup, array $expectedLoadedKeys)</td></tr>
<tr class="separator:aff8359aef995e3be4c99ed299a62fba8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a2ca662db192b9b80873cddbdb45cc01e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a2ca662db192b9b80873cddbdb45cc01e">$keyMapClass</a></td></tr>
<tr class="separator:a2ca662db192b9b80873cddbdb45cc01e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class for testing KeyMap implementations. </p>
<p>To test a keymap class, extend this class and implement setUp(), assigning the fully-qualified class name to keyMapClass:</p>
<div class="fragment"><div class="line"><span class="keyword">protected</span> <span class="keyword">function</span> setUp() : void</div><div class="line">{</div><div class="line"> $this-&gt;keyMapClass = <span class="stringliteral">&#39;\Soong\KeyMap\DBAL&#39;</span>;</div><div class="line"> <span class="comment">// Populate any other setup needed for the particular implementation.</span></div><div class="line"> $this-&gt;configuration[<span class="stringliteral">&#39;table&#39;</span>] = <span class="stringliteral">&#39;test_table&#39;</span>;</div><div class="line">}</div></div><!-- fragment --> </div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a4767dbf77a7ab14ccb61f7f83ffbd842"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4767dbf77a7ab14ccb61f7f83ffbd842">&#9670;&nbsp;</a></span>deleteDataProvider()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">deleteDataProvider </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Test data for deleting map entries. </p>
<dl class="section return"><dt>Returns</dt><dd>array Each array member is a named data set containing: key_metadata: Extractor/loader key names and types. map_data: Array of data to be saved in the keymap, containing an array representing a unique key of extracted data and an array representing a unique key of loaded data. keys_to_delete: Array of key arrays to delete. </dd></dl>
</div>
</div>
<a id="a64c856cbf424b045eac0aa69ded5524a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64c856cbf424b045eac0aa69ded5524a">&#9670;&nbsp;</a></span>lookupExtractedKeysDataProvider()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lookupExtractedKeysDataProvider </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Test data for looking up extracted keys from loaded keys. </p>
<dl class="section return"><dt>Returns</dt><dd>array Each array member is a named data set containing: key_metadata: Extractor/loader key names and types. map_data: Array of data to be saved in the keymap, containing an array representing a unique key of extracted data and an array representing a unique key of loaded data. loaded_keys_to_lookup: Array of key arrays to lookup. expected_extracted_keys: Array representing the expected extracted data key to be returned for each loaded_keys_to_lookup. </dd></dl>
</div>
</div>
<a id="aecff03f669f2bb98dae5a571460b8dc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecff03f669f2bb98dae5a571460b8dc9">&#9670;&nbsp;</a></span>lookupLoadedKeyDataProvider()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">lookupLoadedKeyDataProvider </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Test data for looking up loaded keys from extracted keys. </p>
<dl class="section return"><dt>Returns</dt><dd>array Each array member is a named data set containing: key_metadata: Extractor/loader key names and types. map_data: Array of data to be saved in the keymap, containing an array representing a unique key of extracted data and an array representing a unique key of loaded data. extracted_keys_to_lookup: Array of key arrays to lookup. expected_loaded_keys: Array representing the expected loaded data key to be returned for each extracted_keys_to_lookup. </dd></dl>
</div>
</div>
<a id="a65e0ecb6c10d308afd27c7b3bf151025"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65e0ecb6c10d308afd27c7b3bf151025">&#9670;&nbsp;</a></span>testDelete()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">testDelete </td>
<td>(</td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$keyMetadata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$mapData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$keysToDelete</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Test delete(). </p>
<p>@dataProvider deleteDataProvider</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$keyMetadata</td><td>Definitions of the properties for the extracted and loaded keys. </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$mapData</td><td>Mappings of extracted to loaded keys to populate the key map. </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$keysToDelete</td><td>The extracted keys we want to delete. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a423879218ad9ed9b110f3aa90574ac98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a423879218ad9ed9b110f3aa90574ac98">&#9670;&nbsp;</a></span>testLookupExtractedKeys()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">testLookupExtractedKeys </td>
<td>(</td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$keyMetadata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$mapData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$loadedKeysToLookup</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$expectedExtractedKeys</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Test lookupExtractedKeys(). </p>
<p>@dataProvider lookupExtractedKeysDataProvider</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$keyMetadata</td><td>Definitions of the properties for the extracted and loaded keys. </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$mapData</td><td>Mappings of extracted to loaded keys to populate the key map. </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$loadedKeysToLookup</td><td>The loaded keys we want to lookup. </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$expectedExtractedKeys</td><td>The extracted keys we expect to come back. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="aff8359aef995e3be4c99ed299a62fba8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff8359aef995e3be4c99ed299a62fba8">&#9670;&nbsp;</a></span>testLookupLoadedKey()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">testLookupLoadedKey </td>
<td>(</td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$keyMetadata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$mapData</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$extractedKeysToLookup</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">array&#160;</td>
<td class="paramname"><em>$expectedLoadedKeys</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Test lookupLoadedKey(). </p>
<p>@dataProvider lookupLoadedKeyDataProvider</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramtype">array</td><td class="paramname">$keyMetadata</td><td>Definitions of the properties for the extracted and loaded keys. </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$mapData</td><td>Mappings of extracted to loaded keys to populate the key map. </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$extractedKeysToLookup</td><td>The extracted keys we want to lookup. </td></tr>
<tr><td class="paramtype">array</td><td class="paramname">$expectedLoadedKeys</td><td>The loaded keys we expect to come back. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a2ca662db192b9b80873cddbdb45cc01e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ca662db192b9b80873cddbdb45cc01e">&#9670;&nbsp;</a></span>$keyMapClass</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interface_soong_1_1_contracts_1_1_key_map_1_1_key_map.html">KeyMap</a> $keyMapClass</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Fully-qualified name of a KeyMap implementation. </p>
<p class="reference">Referenced by <a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a65e0ecb6c10d308afd27c7b3bf151025">KeyMapTestBase\testDelete()</a>, <a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#a423879218ad9ed9b110f3aa90574ac98">KeyMapTestBase\testLookupExtractedKeys()</a>, and <a class="el" href="class_soong_1_1_tests_1_1_contracts_1_1_key_map_1_1_key_map_test_base.html#aff8359aef995e3be4c99ed299a62fba8">KeyMapTestBase\testLookupLoadedKey()</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->