<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>ByteBufferTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: ByteBufferTest.java 162104 2005-04-21 01:34:06Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="comment"> *       <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../org/apache/mina/common/package-summary.html">org.apache.mina.common</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.nio.BufferOverflowException;
<a name="22" href="#22">22</a>  <strong>import</strong> java.nio.charset.Charset;
<a name="23" href="#23">23</a>  <strong>import</strong> java.nio.charset.CharsetDecoder;
<a name="24" href="#24">24</a>  <strong>import</strong> java.nio.charset.CharsetEncoder;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong>import</strong> junit.framework.Assert;
<a name="27" href="#27">27</a>  <strong>import</strong> junit.framework.TestCase;
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <em>/**<em>*</em></em>
<a name="30" href="#30">30</a>  <em> * Tests {@link ByteBuffer}.</em>
<a name="31" href="#31">31</a>  <em> * </em>
<a name="32" href="#32">32</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="33" href="#33">33</a>  <em> * @version $Rev: 162104 $, $Date: 2005-04-21 10:34:06 +0900 (목, 21  4월 2005) $ </em>
<a name="34" href="#34">34</a>  <em> */</em>
<a name="35" href="#35">35</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/mina/common/ByteBufferTest.html">ByteBufferTest</a> <strong>extends</strong> TestCase
<a name="36" href="#36">36</a>  {
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main( String[] args )
<a name="39" href="#39">39</a>      {
<a name="40" href="#40">40</a>          junit.textui.TestRunner.run( ByteBufferTest.<strong>class</strong> );
<a name="41" href="#41">41</a>      }
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception
<a name="44" href="#44">44</a>      {
<a name="45" href="#45">45</a>      }
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</a>      <strong>protected</strong> <strong>void</strong> tearDown() throws Exception
<a name="48" href="#48">48</a>      {
<a name="49" href="#49">49</a>      }
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> testAllocate() throws Exception
<a name="52" href="#52">52</a>      {
<a name="53" href="#53">53</a>          <strong>for</strong>( <strong>int</strong> i = 10; i &lt; 1048576 * 2; i = i * 11 / 10 ) <em class="comment">// increase by 10%</em>
<a name="54" href="#54">54</a>          {
<a name="55" href="#55">55</a>              ByteBuffer buf = ByteBuffer.allocate( i );
<a name="56" href="#56">56</a>              Assert.assertEquals( 0, buf.position() );
<a name="57" href="#57">57</a>              Assert.assertEquals( buf.capacity(), buf.remaining() );
<a name="58" href="#58">58</a>              Assert.assertTrue( buf.capacity() >= i );
<a name="59" href="#59">59</a>              Assert.assertTrue( buf.capacity() &lt; i * 2 );
<a name="60" href="#60">60</a>          }
<a name="61" href="#61">61</a>      }
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> testRelease() throws Exception
<a name="64" href="#64">64</a>      {
<a name="65" href="#65">65</a>          <strong>for</strong>( <strong>int</strong> i = 10; i &lt; 1048576 * 2; i = i * 11 / 10 ) <em class="comment">// increase by 10%</em>
<a name="66" href="#66">66</a>          {
<a name="67" href="#67">67</a>              ByteBuffer buf = ByteBuffer.allocate( i );
<a name="68" href="#68">68</a>              Assert.assertEquals( 0, buf.position() );
<a name="69" href="#69">69</a>              Assert.assertEquals( buf.capacity(), buf.remaining() );
<a name="70" href="#70">70</a>              Assert.assertTrue( buf.capacity() >= i );
<a name="71" href="#71">71</a>              Assert.assertTrue( buf.capacity() &lt; i * 2 );
<a name="72" href="#72">72</a>              buf.release();
<a name="73" href="#73">73</a>          }
<a name="74" href="#74">74</a>      }
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>      <strong>public</strong> <strong>void</strong> testLeakageDetection() throws Exception
<a name="77" href="#77">77</a>      {
<a name="78" href="#78">78</a>          ByteBuffer buf = ByteBuffer.allocate( 1024 );
<a name="79" href="#79">79</a>          buf.release();
<a name="80" href="#80">80</a>          <strong>try</strong>
<a name="81" href="#81">81</a>          {
<a name="82" href="#82">82</a>              buf.release();
<a name="83" href="#83">83</a>              Assert.fail( <span class="string">"Releasing a buffer twice should fail."</span> );
<a name="84" href="#84">84</a>          }
<a name="85" href="#85">85</a>          <strong>catch</strong>( IllegalStateException e )
<a name="86" href="#86">86</a>          {
<a name="87" href="#87">87</a>  
<a name="88" href="#88">88</a>          }
<a name="89" href="#89">89</a>      }
<a name="90" href="#90">90</a>      
<a name="91" href="#91">91</a>      <strong>public</strong> <strong>void</strong> testAcquireRelease() throws Exception
<a name="92" href="#92">92</a>      {
<a name="93" href="#93">93</a>          ByteBuffer buf = ByteBuffer.allocate( 1024 );
<a name="94" href="#94">94</a>          buf.acquire();
<a name="95" href="#95">95</a>          buf.release();
<a name="96" href="#96">96</a>          buf.acquire();
<a name="97" href="#97">97</a>          buf.acquire();
<a name="98" href="#98">98</a>          buf.release();
<a name="99" href="#99">99</a>          buf.release();
<a name="100" href="#100">100</a>         buf.release();
<a name="101" href="#101">101</a>         <strong>try</strong>
<a name="102" href="#102">102</a>         {
<a name="103" href="#103">103</a>             buf.release();
<a name="104" href="#104">104</a>             Assert.fail( <span class="string">"Releasing a buffer twice should fail."</span> );
<a name="105" href="#105">105</a>         }
<a name="106" href="#106">106</a>         <strong>catch</strong>( IllegalStateException e )
<a name="107" href="#107">107</a>         {
<a name="108" href="#108">108</a>         }
<a name="109" href="#109">109</a>     }
<a name="110" href="#110">110</a>     
<a name="111" href="#111">111</a>     <strong>public</strong> <strong>void</strong> testAutoExpand() throws Exception
<a name="112" href="#112">112</a>     {
<a name="113" href="#113">113</a>         ByteBuffer buf = ByteBuffer.allocate( 1 );
<a name="114" href="#114">114</a>         
<a name="115" href="#115">115</a>         buf.put( (byte) 0 );
<a name="116" href="#116">116</a>         <strong>try</strong>
<a name="117" href="#117">117</a>         {
<a name="118" href="#118">118</a>             buf.put( (byte) 0 );
<a name="119" href="#119">119</a>             Assert.fail();
<a name="120" href="#120">120</a>         }
<a name="121" href="#121">121</a>         <strong>catch</strong>( BufferOverflowException e )
<a name="122" href="#122">122</a>         {
<a name="123" href="#123">123</a>             <em class="comment">// ignore</em>
<a name="124" href="#124">124</a>         }
<a name="125" href="#125">125</a>         
<a name="126" href="#126">126</a>         buf.setAutoExpand( <strong>true</strong> );
<a name="127" href="#127">127</a>         buf.put( (byte) 0 );
<a name="128" href="#128">128</a>         Assert.assertEquals( 2, buf.position() );
<a name="129" href="#129">129</a>         Assert.assertEquals( 2, buf.limit() );
<a name="130" href="#130">130</a>         Assert.assertEquals( 2, buf.capacity() );
<a name="131" href="#131">131</a>         
<a name="132" href="#132">132</a>         buf.setAutoExpand( false );
<a name="133" href="#133">133</a>         <strong>try</strong>
<a name="134" href="#134">134</a>         {
<a name="135" href="#135">135</a>             buf.put( 3, (byte) 0 );
<a name="136" href="#136">136</a>             Assert.fail();
<a name="137" href="#137">137</a>         }
<a name="138" href="#138">138</a>         <strong>catch</strong>( IndexOutOfBoundsException e )
<a name="139" href="#139">139</a>         {
<a name="140" href="#140">140</a>             <em class="comment">// ignore</em>
<a name="141" href="#141">141</a>         }
<a name="142" href="#142">142</a>         
<a name="143" href="#143">143</a>         buf.setAutoExpand( <strong>true</strong> );
<a name="144" href="#144">144</a>         buf.put( 3, (byte) 0 );
<a name="145" href="#145">145</a>         Assert.assertEquals( 2, buf.position() );
<a name="146" href="#146">146</a>         Assert.assertEquals( 4, buf.limit() );
<a name="147" href="#147">147</a>         Assert.assertEquals( 4, buf.capacity() );
<a name="148" href="#148">148</a>     }
<a name="149" href="#149">149</a>     
<a name="150" href="#150">150</a>     <strong>public</strong> <strong>void</strong> testGetString() throws Exception
<a name="151" href="#151">151</a>     {
<a name="152" href="#152">152</a>         ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="153" href="#153">153</a>         CharsetDecoder decoder;
<a name="154" href="#154">154</a> 
<a name="155" href="#155">155</a>         decoder = Charset.forName( <span class="string">"ISO-8859-1"</span> ).newDecoder();
<a name="156" href="#156">156</a>         buf.put( (byte) 'A' );
<a name="157" href="#157">157</a>         buf.put( (byte) 'B' );
<a name="158" href="#158">158</a>         buf.put( (byte) 'C' );
<a name="159" href="#159">159</a>         buf.put( (byte) 0 );
<a name="160" href="#160">160</a>         
<a name="161" href="#161">161</a>         buf.position( 0 );
<a name="162" href="#162">162</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( decoder ) );
<a name="163" href="#163">163</a>         Assert.assertEquals( 4, buf.position() );
<a name="164" href="#164">164</a>         
<a name="165" href="#165">165</a>         buf.position( 0 );
<a name="166" href="#166">166</a>         buf.limit( 1 );
<a name="167" href="#167">167</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( decoder ) );
<a name="168" href="#168">168</a>         Assert.assertEquals( 1, buf.position() );
<a name="169" href="#169">169</a>         
<a name="170" href="#170">170</a>         buf.clear();
<a name="171" href="#171">171</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( 10, decoder ) );
<a name="172" href="#172">172</a>         Assert.assertEquals( 10, buf.position() );
<a name="173" href="#173">173</a>         
<a name="174" href="#174">174</a>         buf.clear();
<a name="175" href="#175">175</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( 1, decoder ) );
<a name="176" href="#176">176</a>         Assert.assertEquals( 1, buf.position() );
<a name="177" href="#177">177</a>         
<a name="178" href="#178">178</a>         buf.clear();
<a name="179" href="#179">179</a>         buf.fillAndReset( buf.limit() );
<a name="180" href="#180">180</a>         decoder = Charset.forName( <span class="string">"UTF-16"</span> ).newDecoder();
<a name="181" href="#181">181</a>         buf.put( (byte) 0 );
<a name="182" href="#182">182</a>         buf.put( (byte) 'A' );
<a name="183" href="#183">183</a>         buf.put( (byte) 0 );
<a name="184" href="#184">184</a>         buf.put( (byte) 'B' );
<a name="185" href="#185">185</a>         buf.put( (byte) 0 );
<a name="186" href="#186">186</a>         buf.put( (byte) 'C' );
<a name="187" href="#187">187</a>         buf.put( (byte) 0 );
<a name="188" href="#188">188</a>         buf.put( (byte) 0 );
<a name="189" href="#189">189</a>         
<a name="190" href="#190">190</a>         buf.position( 0 );
<a name="191" href="#191">191</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( decoder ) );
<a name="192" href="#192">192</a>         Assert.assertEquals( 8, buf.position() );
<a name="193" href="#193">193</a> 
<a name="194" href="#194">194</a>         buf.position( 0 );
<a name="195" href="#195">195</a>         buf.limit( 2 );
<a name="196" href="#196">196</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( decoder ) );
<a name="197" href="#197">197</a>         Assert.assertEquals( 2, buf.position() );
<a name="198" href="#198">198</a>         
<a name="199" href="#199">199</a>         buf.position( 0 );
<a name="200" href="#200">200</a>         buf.limit( 3 );
<a name="201" href="#201">201</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( decoder ) );
<a name="202" href="#202">202</a>         Assert.assertEquals( 2, buf.position() );
<a name="203" href="#203">203</a>         
<a name="204" href="#204">204</a>         buf.clear();
<a name="205" href="#205">205</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( 10, decoder ) );
<a name="206" href="#206">206</a>         Assert.assertEquals( 10, buf.position() );
<a name="207" href="#207">207</a>         
<a name="208" href="#208">208</a>         buf.clear();
<a name="209" href="#209">209</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( 2, decoder ) );
<a name="210" href="#210">210</a>         Assert.assertEquals( 2, buf.position() );
<a name="211" href="#211">211</a>         
<a name="212" href="#212">212</a>         buf.clear();
<a name="213" href="#213">213</a>         <strong>try</strong>
<a name="214" href="#214">214</a>         {
<a name="215" href="#215">215</a>             buf.getString( 1, decoder );
<a name="216" href="#216">216</a>             Assert.fail();
<a name="217" href="#217">217</a>         }
<a name="218" href="#218">218</a>         <strong>catch</strong>( IllegalArgumentException e )
<a name="219" href="#219">219</a>         {
<a name="220" href="#220">220</a>             <em class="comment">// ignore</em>
<a name="221" href="#221">221</a>         }
<a name="222" href="#222">222</a>     }
<a name="223" href="#223">223</a>     
<a name="224" href="#224">224</a>     <strong>public</strong> <strong>void</strong> testPutString() throws Exception
<a name="225" href="#225">225</a>     {
<a name="226" href="#226">226</a>         CharsetEncoder encoder;
<a name="227" href="#227">227</a>         ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="228" href="#228">228</a>         encoder = Charset.forName( <span class="string">"ISO-8859-1"</span> ).newEncoder();
<a name="229" href="#229">229</a>         
<a name="230" href="#230">230</a>         buf.putString( <span class="string">"ABC"</span>, encoder );
<a name="231" href="#231">231</a>         Assert.assertEquals( 3, buf.position() );
<a name="232" href="#232">232</a>         buf.clear();
<a name="233" href="#233">233</a>         Assert.assertEquals( 'A', buf.get( 0 ) );
<a name="234" href="#234">234</a>         Assert.assertEquals( 'B', buf.get( 1 ) );
<a name="235" href="#235">235</a>         Assert.assertEquals( 'C', buf.get( 2 ) );
<a name="236" href="#236">236</a>         
<a name="237" href="#237">237</a>         buf.putString( <span class="string">"D"</span>, 5, encoder );
<a name="238" href="#238">238</a>         Assert.assertEquals( 5, buf.position() );
<a name="239" href="#239">239</a>         buf.clear();
<a name="240" href="#240">240</a>         Assert.assertEquals( 'D', buf.get( 0 ) );
<a name="241" href="#241">241</a>         Assert.assertEquals( 0, buf.get( 1 ) );
<a name="242" href="#242">242</a>         
<a name="243" href="#243">243</a>         buf.putString( <span class="string">"EFG"</span>, 2, encoder );
<a name="244" href="#244">244</a>         Assert.assertEquals( 2, buf.position() );
<a name="245" href="#245">245</a>         buf.clear();
<a name="246" href="#246">246</a>         Assert.assertEquals( 'E', buf.get( 0 ) );
<a name="247" href="#247">247</a>         Assert.assertEquals( 'F', buf.get( 1 ) );
<a name="248" href="#248">248</a>         Assert.assertEquals( 'C', buf.get( 2 ) ); <em class="comment">// C may not be overwritten</em>
<a name="249" href="#249">249</a> 
<a name="250" href="#250">250</a>         <em class="comment">// UTF-16: We specify byte order to omit BOM.</em>
<a name="251" href="#251">251</a>         encoder = Charset.forName( <span class="string">"UTF-16BE"</span> ).newEncoder();
<a name="252" href="#252">252</a>         buf.clear();
<a name="253" href="#253">253</a>         
<a name="254" href="#254">254</a>         buf.putString( <span class="string">"ABC"</span>, encoder );
<a name="255" href="#255">255</a>         Assert.assertEquals( 6, buf.position() );
<a name="256" href="#256">256</a>         buf.clear();
<a name="257" href="#257">257</a>         
<a name="258" href="#258">258</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="259" href="#259">259</a>         Assert.assertEquals( 'A', buf.get( 1 ) );
<a name="260" href="#260">260</a>         Assert.assertEquals( 0, buf.get( 2 ) );
<a name="261" href="#261">261</a>         Assert.assertEquals( 'B', buf.get( 3 ) );
<a name="262" href="#262">262</a>         Assert.assertEquals( 0, buf.get( 4 ) );
<a name="263" href="#263">263</a>         Assert.assertEquals( 'C', buf.get( 5 ) );
<a name="264" href="#264">264</a>         
<a name="265" href="#265">265</a>         buf.putString( <span class="string">"D"</span>, 10, encoder );
<a name="266" href="#266">266</a>         Assert.assertEquals( 10, buf.position() );
<a name="267" href="#267">267</a>         buf.clear();
<a name="268" href="#268">268</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="269" href="#269">269</a>         Assert.assertEquals( 'D', buf.get( 1 ) );
<a name="270" href="#270">270</a>         Assert.assertEquals( 0, buf.get( 2 ) );
<a name="271" href="#271">271</a>         Assert.assertEquals( 0, buf.get( 3 ) );
<a name="272" href="#272">272</a>         
<a name="273" href="#273">273</a>         buf.putString( <span class="string">"EFG"</span>, 4, encoder );
<a name="274" href="#274">274</a>         Assert.assertEquals( 4, buf.position() );
<a name="275" href="#275">275</a>         buf.clear();
<a name="276" href="#276">276</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="277" href="#277">277</a>         Assert.assertEquals( 'E', buf.get( 1 ) );
<a name="278" href="#278">278</a>         Assert.assertEquals( 0, buf.get( 2 ) );
<a name="279" href="#279">279</a>         Assert.assertEquals( 'F', buf.get( 3 ) );
<a name="280" href="#280">280</a>         Assert.assertEquals( 0, buf.get( 4 ) );   <em class="comment">// C may not be overwritten</em>
<a name="281" href="#281">281</a>         Assert.assertEquals( 'C', buf.get( 5 ) ); <em class="comment">// C may not be overwritten</em>
<a name="282" href="#282">282</a>     }
<a name="283" href="#283">283</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

