<!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="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: src/armnnTfLiteParser/test/GetBuffer.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>
<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">ArmNN
   &#160;<span id="projectnumber">NotReleased</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('_get_buffer_8cpp.html','');});
</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="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">GetBuffer.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="_parser_flatbuffers_fixture_8hpp_source.html">ParserFlatbuffersFixture.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_tf_lite_parser_8hpp_source.html">../TfLiteParser.hpp</a>&quot;</code><br />
<code>#include &lt;sstream&gt;</code><br />
</div>
<p><a href="_get_buffer_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:af87012670e69967ce447ca7759c693e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_get_buffer_8cpp.html#af87012670e69967ce447ca7759c693e3">BOOST_FIXTURE_TEST_CASE</a> (GetBufferCheckContents, GetBufferFixture)</td></tr>
<tr class="separator:af87012670e69967ce447ca7759c693e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99750ddf30b6f89b65d2ed5243e28788"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_get_buffer_8cpp.html#a99750ddf30b6f89b65d2ed5243e28788">BOOST_FIXTURE_TEST_CASE</a> (GetBufferCheckEmpty, GetBufferFixture)</td></tr>
<tr class="separator:a99750ddf30b6f89b65d2ed5243e28788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa688c8d353b16bc274ff4b5f361becb6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_get_buffer_8cpp.html#aa688c8d353b16bc274ff4b5f361becb6">BOOST_FIXTURE_TEST_CASE</a> (GetBufferCheckParseException, GetBufferFixture)</td></tr>
<tr class="separator:aa688c8d353b16bc274ff4b5f361becb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="af87012670e69967ce447ca7759c693e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af87012670e69967ce447ca7759c693e3">&#9670;&nbsp;</a></span>BOOST_FIXTURE_TEST_CASE() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOST_FIXTURE_TEST_CASE </td>
          <td>(</td>
          <td class="paramtype">GetBufferCheckContents&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GetBufferFixture&#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="_get_buffer_8cpp_source.html#l00101">101</a> of file <a class="el" href="_get_buffer_8cpp_source.html">GetBuffer.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;{</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="comment">//Check contents of buffer are correct</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <a class="code" href="namespacearmnn_onnx_parser.html#a503ae4f55dae1486e53978657083b35d">TfLiteParser::ModelPtr</a> model = TfLiteParser::LoadModelFromBinary(m_GraphBinary.data(), m_GraphBinary.size());</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;    std::vector&lt;int32_t&gt; bufferValues = {2,1,0,6,2,1,4,1,2};</div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    CheckBufferContents(model, bufferValues, 2);</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;}</div><div class="ttc" id="namespacearmnn_onnx_parser_html_a503ae4f55dae1486e53978657083b35d"><div class="ttname"><a href="namespacearmnn_onnx_parser.html#a503ae4f55dae1486e53978657083b35d">armnnOnnxParser::ModelPtr</a></div><div class="ttdeci">std::unique_ptr&lt; onnx::ModelProto &gt; ModelPtr</div><div class="ttdef"><b>Definition:</b> <a href="_onnx_parser_8hpp_source.html#l00023">OnnxParser.hpp:23</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a99750ddf30b6f89b65d2ed5243e28788"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99750ddf30b6f89b65d2ed5243e28788">&#9670;&nbsp;</a></span>BOOST_FIXTURE_TEST_CASE() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOST_FIXTURE_TEST_CASE </td>
          <td>(</td>
          <td class="paramtype">GetBufferCheckEmpty&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GetBufferFixture&#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="_get_buffer_8cpp_source.html#l00109">109</a> of file <a class="el" href="_get_buffer_8cpp_source.html">GetBuffer.cpp</a>.</p>

<p class="reference">References <a class="el" href="_file_only_profiling_decorator_tests_8cpp.html#a0c262ba6f6c189a2d092d127c1b7627b">BOOST_CHECK()</a>.</p>
<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;{</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="comment">//Check if test fixture buffers are empty or not</span></div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <a class="code" href="namespacearmnn_onnx_parser.html#a503ae4f55dae1486e53978657083b35d">TfLiteParser::ModelPtr</a> model = TfLiteParser::LoadModelFromBinary(m_GraphBinary.data(), m_GraphBinary.size());</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <a class="code" href="_file_only_profiling_decorator_tests_8cpp.html#a0c262ba6f6c189a2d092d127c1b7627b">BOOST_CHECK</a>(TfLiteParser::GetBuffer(model, 0)-&gt;data.empty());</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;    <a class="code" href="_file_only_profiling_decorator_tests_8cpp.html#a0c262ba6f6c189a2d092d127c1b7627b">BOOST_CHECK</a>(TfLiteParser::GetBuffer(model, 1)-&gt;data.empty());</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;    <a class="code" href="_file_only_profiling_decorator_tests_8cpp.html#a0c262ba6f6c189a2d092d127c1b7627b">BOOST_CHECK</a>(!TfLiteParser::GetBuffer(model, 2)-&gt;data.empty());</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    <a class="code" href="_file_only_profiling_decorator_tests_8cpp.html#a0c262ba6f6c189a2d092d127c1b7627b">BOOST_CHECK</a>(TfLiteParser::GetBuffer(model, 3)-&gt;data.empty());</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;}</div><div class="ttc" id="namespacearmnn_onnx_parser_html_a503ae4f55dae1486e53978657083b35d"><div class="ttname"><a href="namespacearmnn_onnx_parser.html#a503ae4f55dae1486e53978657083b35d">armnnOnnxParser::ModelPtr</a></div><div class="ttdeci">std::unique_ptr&lt; onnx::ModelProto &gt; ModelPtr</div><div class="ttdef"><b>Definition:</b> <a href="_onnx_parser_8hpp_source.html#l00023">OnnxParser.hpp:23</a></div></div>
<div class="ttc" id="_file_only_profiling_decorator_tests_8cpp_html_a0c262ba6f6c189a2d092d127c1b7627b"><div class="ttname"><a href="_file_only_profiling_decorator_tests_8cpp.html#a0c262ba6f6c189a2d092d127c1b7627b">BOOST_CHECK</a></div><div class="ttdeci">BOOST_CHECK(profilingService.GetCurrentState()==ProfilingState::WaitingForAck)</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa688c8d353b16bc274ff4b5f361becb6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa688c8d353b16bc274ff4b5f361becb6">&#9670;&nbsp;</a></span>BOOST_FIXTURE_TEST_CASE() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOST_FIXTURE_TEST_CASE </td>
          <td>(</td>
          <td class="paramtype">GetBufferCheckParseException&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">GetBufferFixture&#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="_get_buffer_8cpp_source.html#l00119">119</a> of file <a class="el" href="_get_buffer_8cpp_source.html">GetBuffer.cpp</a>.</p>

<p class="reference">References <a class="el" href="_profiler_tests_8cpp.html#af7f71af5c6c124222dd1c42c5df892f4">BOOST_AUTO_TEST_SUITE_END()</a>.</p>
<div class="fragment"><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;{</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="comment">//Check if armnn::ParseException thrown when invalid buffer index used</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <a class="code" href="namespacearmnn_onnx_parser.html#a503ae4f55dae1486e53978657083b35d">TfLiteParser::ModelPtr</a> model = TfLiteParser::LoadModelFromBinary(m_GraphBinary.data(), m_GraphBinary.size());</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    BOOST_CHECK_THROW(TfLiteParser::GetBuffer(model, 4)-&gt;data.empty(), <a class="code" href="classarmnn_1_1_exception.html">armnn::Exception</a>);</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;}</div><div class="ttc" id="namespacearmnn_onnx_parser_html_a503ae4f55dae1486e53978657083b35d"><div class="ttname"><a href="namespacearmnn_onnx_parser.html#a503ae4f55dae1486e53978657083b35d">armnnOnnxParser::ModelPtr</a></div><div class="ttdeci">std::unique_ptr&lt; onnx::ModelProto &gt; ModelPtr</div><div class="ttdef"><b>Definition:</b> <a href="_onnx_parser_8hpp_source.html#l00023">OnnxParser.hpp:23</a></div></div>
<div class="ttc" id="classarmnn_1_1_exception_html"><div class="ttname"><a href="classarmnn_1_1_exception.html">armnn::Exception</a></div><div class="ttdoc">Base class for all ArmNN exceptions so that users can filter to just those. </div><div class="ttdef"><b>Definition:</b> <a href="_exceptions_8hpp_source.html#l00046">Exceptions.hpp:46</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.html">src</a></li><li class="navelem"><a class="el" href="dir_510324e450b9df55f9aac2d01fae83d8.html">armnnTfLiteParser</a></li><li class="navelem"><a class="el" href="dir_6d8d07609c57029a35488d2120e28fbd.html">test</a></li><li class="navelem"><a class="el" href="_get_buffer_8cpp.html">GetBuffer.cpp</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:06:59 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>
