diff --git a/Documentation/_quantization_data_set_tests_8cpp.xhtml b/Documentation/_quantization_data_set_tests_8cpp.xhtml
new file mode 100644
index 0000000..083fa6d
--- /dev/null
+++ b/Documentation/_quantization_data_set_tests_8cpp.xhtml
@@ -0,0 +1,212 @@
+<!-- Copyright (c) 2020 ARM Limited. -->
+<!--                                 -->
+<!-- SPDX-License-Identifier: MIT    -->
+<!--                                 -->
+<!-- HTML header for doxygen 1.8.13-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.13"/>
+<meta name="robots" content="NOINDEX, NOFOLLOW" />
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>ArmNN: src/armnnQuantizer/test/QuantizationDataSetTests.cpp File 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">
+  $(document).ready(initResizable);
+</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>
+<script type="text/x-mathjax-config">
+  MathJax.Hub.Config({
+    extensions: ["tex2jax.js"],
+    jax: ["input/TeX","output/HTML-CSS"],
+});
+</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+<link href="stylesheet.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;">
+  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
+  <td style="padding-left: 0.5em;">
+   <div id="projectname">
+   &#160;<span id="projectnumber">20.02</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</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">
+$(document).ready(function(){initNavTree('_quantization_data_set_tests_8cpp.xhtml','');});
+</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="#define-members">Macros</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">QuantizationDataSetTests.cpp File Reference</div>  </div>
+</div><!--header-->
+<div class="contents">
+<div class="textblock"><code>#include &lt;boost/test/unit_test.hpp&gt;</code><br />
+<code>#include &quot;<a class="el" href="_quantization_data_set_8hpp_source.xhtml">../QuantizationDataSet.hpp</a>&quot;</code><br />
+<code>#include &lt;iostream&gt;</code><br />
+<code>#include &lt;fstream&gt;</code><br />
+<code>#include &lt;vector&gt;</code><br />
+<code>#include &lt;map&gt;</code><br />
+<code>#include &lt;boost/filesystem/operations.hpp&gt;</code><br />
+<code>#include &lt;boost/filesystem/fstream.hpp&gt;</code><br />
+<code>#include &lt;boost/filesystem/path.hpp&gt;</code><br />
+<code>#include &lt;boost/optional/optional.hpp&gt;</code><br />
+</div>
+<p><a href="_quantization_data_set_tests_8cpp_source.xhtml">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a3f662379b0269b73ca7edd271a7a9bfc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_quantization_data_set_tests_8cpp.xhtml#a3f662379b0269b73ca7edd271a7a9bfc">BOOST_FILESYSTEM_NO_DEPRECATED</a></td></tr>
+<tr class="separator:a3f662379b0269b73ca7edd271a7a9bfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aafab10e950eee34163e7f86aacc668fd"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_quantization_data_set_tests_8cpp.xhtml#aafab10e950eee34163e7f86aacc668fd">BOOST_FIXTURE_TEST_CASE</a> (CheckDataSet, CsvTestHelper)</td></tr>
+<tr class="separator:aafab10e950eee34163e7f86aacc668fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af7f71af5c6c124222dd1c42c5df892f4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_quantization_data_set_tests_8cpp.xhtml#af7f71af5c6c124222dd1c42c5df892f4">BOOST_AUTO_TEST_SUITE_END</a> ()</td></tr>
+<tr class="separator:af7f71af5c6c124222dd1c42c5df892f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<h2 class="groupheader">Macro Definition Documentation</h2>
+<a id="a3f662379b0269b73ca7edd271a7a9bfc"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3f662379b0269b73ca7edd271a7a9bfc">&#9670;&nbsp;</a></span>BOOST_FILESYSTEM_NO_DEPRECATED</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define BOOST_FILESYSTEM_NO_DEPRECATED</td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_quantization_data_set_tests_8cpp_source.xhtml#l00014">14</a> of file <a class="el" href="_quantization_data_set_tests_8cpp_source.xhtml">QuantizationDataSetTests.cpp</a>.</p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a id="af7f71af5c6c124222dd1c42c5df892f4"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#af7f71af5c6c124222dd1c42c5df892f4">&#9670;&nbsp;</a></span>BOOST_AUTO_TEST_SUITE_END()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">BOOST_AUTO_TEST_SUITE_END </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="reference">Referenced by <a class="el" href="_quantization_data_set_tests_8cpp_source.xhtml#l00114">BOOST_FIXTURE_TEST_CASE()</a>.</p>
+
+</div>
+</div>
+<a id="aafab10e950eee34163e7f86aacc668fd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#aafab10e950eee34163e7f86aacc668fd">&#9670;&nbsp;</a></span>BOOST_FIXTURE_TEST_CASE()</h2>
+
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">BOOST_FIXTURE_TEST_CASE </td>
+          <td>(</td>
+          <td class="paramtype">CheckDataSet&#160;</td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">CsvTestHelper&#160;</td>
+          <td class="paramname">&#160;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div><div class="memdoc">
+
+<p class="definition">Definition at line <a class="el" href="_quantization_data_set_tests_8cpp_source.xhtml#l00114">114</a> of file <a class="el" href="_quantization_data_set_tests_8cpp_source.xhtml">QuantizationDataSetTests.cpp</a>.</p>
+
+<p class="reference">References <a class="el" href="_quantization_data_set_tests_8cpp.xhtml#af7f71af5c6c124222dd1c42c5df892f4">BOOST_AUTO_TEST_SUITE_END()</a>, and <a class="el" href="_quantization_data_set_8hpp_source.xhtml#l00029">QuantizationDataSet::IsEmpty()</a>.</p>
+<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;{</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    std::map&lt;int, std::vector&lt;float&gt;&gt; csvData;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    csvData.insert(std::pair&lt;<span class="keywordtype">int</span>, std::vector&lt;float&gt;&gt;(0, { 0.111111f, 0.222222f, 0.333333f }));</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    csvData.insert(std::pair&lt;<span class="keywordtype">int</span>, std::vector&lt;float&gt;&gt;(1, { 0.444444f, 0.555555f, 0.666666f }));</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    csvData.insert(std::pair&lt;<span class="keywordtype">int</span>, std::vector&lt;float&gt;&gt;(2, { 0.777777f, 0.888888f, 0.999999f }));</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    std::string myCsvFile = CsvTestHelper::CreateTempCsvFile(csvData);</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <a class="code" href="classarmnn_quantizer_1_1_quantization_data_set.xhtml">QuantizationDataSet</a> dataSet(myCsvFile);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    BOOST_TEST(!dataSet.IsEmpty());</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordtype">int</span> csvRow = 0;</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    <span class="keywordflow">for</span>(<a class="code" href="classarmnn_quantizer_1_1_quantization_input.xhtml">armnnQuantizer::QuantizationInput</a> input : dataSet)</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    {</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;        BOOST_TEST(input.GetPassId() == csvRow);</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        BOOST_TEST(input.GetLayerBindingIds().size() == 1);</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        BOOST_TEST(input.GetLayerBindingIds()[0] == 0);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;        BOOST_TEST(input.GetDataForEntry(0).size() == 3);</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;        <span class="comment">// Check that QuantizationInput data for binding ID 0 corresponds to float values</span></div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="comment">// used for populating the CSV file using by QuantizationDataSet</span></div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        BOOST_TEST(input.GetDataForEntry(0).at(0) == csvData.at(csvRow).at(0));</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        BOOST_TEST(input.GetDataForEntry(0).at(1) == csvData.at(csvRow).at(1));</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        BOOST_TEST(input.GetDataForEntry(0).at(2) == csvData.at(csvRow).at(2));</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        ++csvRow;</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    }</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;}</div><div class="ttc" id="classarmnn_quantizer_1_1_quantization_data_set_xhtml"><div class="ttname"><a href="classarmnn_quantizer_1_1_quantization_data_set.xhtml">armnnQuantizer::QuantizationDataSet</a></div><div class="ttdoc">QuantizationDataSet is a structure which is created after parsing a quantization CSV file...</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_data_set_8hpp_source.xhtml#l00018">QuantizationDataSet.hpp:18</a></div></div>
+<div class="ttc" id="classarmnn_quantizer_1_1_quantization_input_xhtml"><div class="ttname"><a href="classarmnn_quantizer_1_1_quantization_input.xhtml">armnnQuantizer::QuantizationInput</a></div><div class="ttdoc">QuantizationInput for specific pass ID, can list a corresponding raw data file for each LayerBindingI...</div><div class="ttdef"><b>Definition:</b> <a href="_quantization_input_8hpp_source.xhtml#l00016">QuantizationInput.hpp:16</a></div></div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_0de8a5774692585e465aba8075a97653.xhtml">armnnQuantizer</a></li><li class="navelem"><a class="el" href="dir_3709aa41a3b61b199034060afb4293ad.xhtml">test</a></li><li class="navelem"><a class="el" href="_quantization_data_set_tests_8cpp.xhtml">QuantizationDataSetTests.cpp</a></li>
+    <li class="footer">Generated on Fri Mar 13 2020 16:09:14 for ArmNN by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>
