<!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=UTF-8" />
<title>IoBufferTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_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="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.core;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.nio.BufferOverflowException;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.nio.ByteBuffer;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.nio.ByteOrder;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.nio.ReadOnlyBufferException;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.CharacterCodingException;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.Charset;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.CharsetDecoder;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.CharsetEncoder;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.util.Date;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.EnumSet;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="34" href="#34">34</a>  
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> junit.framework.Assert;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestCase;
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.Bar;
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment">/**</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * Tests {@link IoBuffer}.</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> *</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * @version $Rev: 671827 $, $Date: 2008-06-26 10:49:48 +0200 (jeu, 26 jun 2008) $</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> */</em>
<a name="47" href="#47">47</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/mina/core/IoBufferTest.html">IoBufferTest</a> <strong class="jxr_keyword">extends</strong> TestCase {
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> main(String[] args) {
<a name="50" href="#50">50</a>          junit.textui.TestRunner.run(IoBufferTest.<strong class="jxr_keyword">class</strong>);
<a name="51" href="#51">51</a>      }
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>      @Override
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception {
<a name="55" href="#55">55</a>      }
<a name="56" href="#56">56</a>  
<a name="57" href="#57">57</a>      @Override
<a name="58" href="#58">58</a>      <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> tearDown() <strong class="jxr_keyword">throws</strong> Exception {
<a name="59" href="#59">59</a>      }
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAllocate() <strong class="jxr_keyword">throws</strong> Exception {
<a name="62" href="#62">62</a>          <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 10; i &lt; 1048576 * 2; i = i * 11 / 10) <em class="jxr_comment">// increase by 10%</em>
<a name="63" href="#63">63</a>          {
<a name="64" href="#64">64</a>              IoBuffer buf = IoBuffer.allocate(i);
<a name="65" href="#65">65</a>              Assert.assertEquals(0, buf.position());
<a name="66" href="#66">66</a>              Assert.assertEquals(buf.capacity(), buf.remaining());
<a name="67" href="#67">67</a>              Assert.assertTrue(buf.capacity() &gt;= i);
<a name="68" href="#68">68</a>              Assert.assertTrue(buf.capacity() &lt; i * 2);
<a name="69" href="#69">69</a>          }
<a name="70" href="#70">70</a>      }
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAutoExpand() <strong class="jxr_keyword">throws</strong> Exception {
<a name="73" href="#73">73</a>          IoBuffer buf = IoBuffer.allocate(1);
<a name="74" href="#74">74</a>  
<a name="75" href="#75">75</a>          buf.put((byte) 0);
<a name="76" href="#76">76</a>          <strong class="jxr_keyword">try</strong> {
<a name="77" href="#77">77</a>              buf.put((byte) 0);
<a name="78" href="#78">78</a>              Assert.fail();
<a name="79" href="#79">79</a>          } <strong class="jxr_keyword">catch</strong> (BufferOverflowException e) {
<a name="80" href="#80">80</a>              <em class="jxr_comment">// ignore</em>
<a name="81" href="#81">81</a>          }
<a name="82" href="#82">82</a>  
<a name="83" href="#83">83</a>          buf.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="84" href="#84">84</a>          buf.put((byte) 0);
<a name="85" href="#85">85</a>          Assert.assertEquals(2, buf.position());
<a name="86" href="#86">86</a>          Assert.assertEquals(2, buf.limit());
<a name="87" href="#87">87</a>          Assert.assertEquals(2, buf.capacity());
<a name="88" href="#88">88</a>  
<a name="89" href="#89">89</a>          buf.setAutoExpand(false);
<a name="90" href="#90">90</a>          <strong class="jxr_keyword">try</strong> {
<a name="91" href="#91">91</a>              buf.put(3, (byte) 0);
<a name="92" href="#92">92</a>              Assert.fail();
<a name="93" href="#93">93</a>          } <strong class="jxr_keyword">catch</strong> (IndexOutOfBoundsException e) {
<a name="94" href="#94">94</a>              <em class="jxr_comment">// ignore</em>
<a name="95" href="#95">95</a>          }
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>          buf.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="98" href="#98">98</a>          buf.put(3, (byte) 0);
<a name="99" href="#99">99</a>          Assert.assertEquals(2, buf.position());
<a name="100" href="#100">100</a>         Assert.assertEquals(4, buf.limit());
<a name="101" href="#101">101</a>         Assert.assertEquals(4, buf.capacity());
<a name="102" href="#102">102</a> 
<a name="103" href="#103">103</a>         <em class="jxr_comment">// Make sure the buffer is doubled up.</em>
<a name="104" href="#104">104</a>         buf = IoBuffer.allocate(1).setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="105" href="#105">105</a>         <strong class="jxr_keyword">int</strong> lastCapacity = buf.capacity();
<a name="106" href="#106">106</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 1048576; i ++) {
<a name="107" href="#107">107</a>             buf.put((byte) 0);
<a name="108" href="#108">108</a>             <strong class="jxr_keyword">if</strong> (lastCapacity != buf.capacity()) {
<a name="109" href="#109">109</a>                 Assert.assertEquals(lastCapacity * 2, buf.capacity());
<a name="110" href="#110">110</a>                 lastCapacity = buf.capacity();
<a name="111" href="#111">111</a>             }
<a name="112" href="#112">112</a>         }
<a name="113" href="#113">113</a>     }
<a name="114" href="#114">114</a> 
<a name="115" href="#115">115</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAutoExpandMark() <strong class="jxr_keyword">throws</strong> Exception {
<a name="116" href="#116">116</a>         IoBuffer buf = IoBuffer.allocate(4).setAutoExpand(<strong class="jxr_keyword">true</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>         buf.put((byte) 0);
<a name="120" href="#120">120</a>         buf.put((byte) 0);
<a name="121" href="#121">121</a> 
<a name="122" href="#122">122</a>         <em class="jxr_comment">// Position should be 3 when we reset this buffer.</em>
<a name="123" href="#123">123</a>         buf.mark();
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>         <em class="jxr_comment">// Overflow it</em>
<a name="126" href="#126">126</a>         buf.put((byte) 0);
<a name="127" href="#127">127</a>         buf.put((byte) 0);
<a name="128" href="#128">128</a> 
<a name="129" href="#129">129</a>         Assert.assertEquals(5, buf.position());
<a name="130" href="#130">130</a>         buf.reset();
<a name="131" href="#131">131</a>         Assert.assertEquals(3, buf.position());
<a name="132" href="#132">132</a>     }
<a name="133" href="#133">133</a> 
<a name="134" href="#134">134</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testAutoShrink() <strong class="jxr_keyword">throws</strong> Exception {
<a name="135" href="#135">135</a>         IoBuffer buf = IoBuffer.allocate(8).setAutoShrink(<strong class="jxr_keyword">true</strong>);
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>         <em class="jxr_comment">// Make sure the buffer doesn't shrink too much (less than the initial</em>
<a name="138" href="#138">138</a>         <em class="jxr_comment">// capacity.)</em>
<a name="139" href="#139">139</a>         buf.sweep((byte) 1);
<a name="140" href="#140">140</a>         buf.fill(7);
<a name="141" href="#141">141</a>         buf.compact();
<a name="142" href="#142">142</a>         Assert.assertEquals(8, buf.capacity());
<a name="143" href="#143">143</a>         Assert.assertEquals(1, buf.position());
<a name="144" href="#144">144</a>         Assert.assertEquals(8, buf.limit());
<a name="145" href="#145">145</a>         buf.clear();
<a name="146" href="#146">146</a>         Assert.assertEquals(1, buf.get());
<a name="147" href="#147">147</a> 
<a name="148" href="#148">148</a>         <em class="jxr_comment">// Expand the buffer.</em>
<a name="149" href="#149">149</a>         buf.capacity(32).clear();
<a name="150" href="#150">150</a>         Assert.assertEquals(32, buf.capacity());
<a name="151" href="#151">151</a> 
<a name="152" href="#152">152</a>         <em class="jxr_comment">// Make sure the buffer shrinks when only 1/4 is being used.</em>
<a name="153" href="#153">153</a>         buf.sweep((byte) 1);
<a name="154" href="#154">154</a>         buf.fill(24);
<a name="155" href="#155">155</a>         buf.compact();
<a name="156" href="#156">156</a>         Assert.assertEquals(16, buf.capacity());
<a name="157" href="#157">157</a>         Assert.assertEquals(8, buf.position());
<a name="158" href="#158">158</a>         Assert.assertEquals(16, buf.limit());
<a name="159" href="#159">159</a>         buf.clear();
<a name="160" href="#160">160</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 8; i ++) {
<a name="161" href="#161">161</a>             Assert.assertEquals(1, buf.get());
<a name="162" href="#162">162</a>         }
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>         <em class="jxr_comment">// Expand the buffer.</em>
<a name="165" href="#165">165</a>         buf.capacity(32).clear();
<a name="166" href="#166">166</a>         Assert.assertEquals(32, buf.capacity());
<a name="167" href="#167">167</a> 
<a name="168" href="#168">168</a>         <em class="jxr_comment">// Make sure the buffer shrinks when only 1/8 is being used.</em>
<a name="169" href="#169">169</a>         buf.sweep((byte) 1);
<a name="170" href="#170">170</a>         buf.fill(28);
<a name="171" href="#171">171</a>         buf.compact();
<a name="172" href="#172">172</a>         Assert.assertEquals(8, buf.capacity());
<a name="173" href="#173">173</a>         Assert.assertEquals(4, buf.position());
<a name="174" href="#174">174</a>         Assert.assertEquals(8, buf.limit());
<a name="175" href="#175">175</a>         buf.clear();
<a name="176" href="#176">176</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 4; i ++) {
<a name="177" href="#177">177</a>             Assert.assertEquals(1, buf.get());
<a name="178" href="#178">178</a>         }
<a name="179" href="#179">179</a> 
<a name="180" href="#180">180</a>         <em class="jxr_comment">// Expand the buffer.</em>
<a name="181" href="#181">181</a>         buf.capacity(32).clear();
<a name="182" href="#182">182</a>         Assert.assertEquals(32, buf.capacity());
<a name="183" href="#183">183</a> 
<a name="184" href="#184">184</a>         <em class="jxr_comment">// Make sure the buffer shrinks when 0 byte is being used.</em>
<a name="185" href="#185">185</a>         buf.fill(32);
<a name="186" href="#186">186</a>         buf.compact();
<a name="187" href="#187">187</a>         Assert.assertEquals(8, buf.capacity());
<a name="188" href="#188">188</a>         Assert.assertEquals(0, buf.position());
<a name="189" href="#189">189</a>         Assert.assertEquals(8, buf.limit());
<a name="190" href="#190">190</a> 
<a name="191" href="#191">191</a>         <em class="jxr_comment">// Expand the buffer.</em>
<a name="192" href="#192">192</a>         buf.capacity(32).clear();
<a name="193" href="#193">193</a>         Assert.assertEquals(32, buf.capacity());
<a name="194" href="#194">194</a> 
<a name="195" href="#195">195</a>         <em class="jxr_comment">// Make sure the buffer doesn't shrink when more than 1/4 is being used.</em>
<a name="196" href="#196">196</a>         buf.sweep((byte) 1);
<a name="197" href="#197">197</a>         buf.fill(23);
<a name="198" href="#198">198</a>         buf.compact();
<a name="199" href="#199">199</a>         Assert.assertEquals(32, buf.capacity());
<a name="200" href="#200">200</a>         Assert.assertEquals(9, buf.position());
<a name="201" href="#201">201</a>         Assert.assertEquals(32, buf.limit());
<a name="202" href="#202">202</a>         buf.clear();
<a name="203" href="#203">203</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 9; i ++) {
<a name="204" href="#204">204</a>             Assert.assertEquals(1, buf.get());
<a name="205" href="#205">205</a>         }
<a name="206" href="#206">206</a>     }
<a name="207" href="#207">207</a> 
<a name="208" href="#208">208</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetString() <strong class="jxr_keyword">throws</strong> Exception {
<a name="209" href="#209">209</a>         IoBuffer buf = IoBuffer.allocate(16);
<a name="210" href="#210">210</a>         CharsetDecoder decoder;
<a name="211" href="#211">211</a> 
<a name="212" href="#212">212</a>         Charset charset = Charset.forName(<span class="jxr_string">"UTF-8"</span>);
<a name="213" href="#213">213</a>         buf.clear();
<a name="214" href="#214">214</a>         buf.putString(<span class="jxr_string">"hello"</span>, charset.newEncoder());
<a name="215" href="#215">215</a>         buf.put((byte) 0);
<a name="216" href="#216">216</a>         buf.flip();
<a name="217" href="#217">217</a>         Assert.assertEquals(<span class="jxr_string">"hello"</span>, buf.getString(charset.newDecoder()));
<a name="218" href="#218">218</a> 
<a name="219" href="#219">219</a>         buf.clear();
<a name="220" href="#220">220</a>         buf.putString(<span class="jxr_string">"hello"</span>, charset.newEncoder());
<a name="221" href="#221">221</a>         buf.flip();
<a name="222" href="#222">222</a>         Assert.assertEquals(<span class="jxr_string">"hello"</span>, buf.getString(charset.newDecoder()));
<a name="223" href="#223">223</a> 
<a name="224" href="#224">224</a>         decoder = Charset.forName(<span class="jxr_string">"ISO-8859-1"</span>).newDecoder();
<a name="225" href="#225">225</a>         buf.clear();
<a name="226" href="#226">226</a>         buf.put((byte) 'A');
<a name="227" href="#227">227</a>         buf.put((byte) 'B');
<a name="228" href="#228">228</a>         buf.put((byte) 'C');
<a name="229" href="#229">229</a>         buf.put((byte) 0);
<a name="230" href="#230">230</a> 
<a name="231" href="#231">231</a>         buf.position(0);
<a name="232" href="#232">232</a>         Assert.assertEquals(<span class="jxr_string">"ABC"</span>, buf.getString(decoder));
<a name="233" href="#233">233</a>         Assert.assertEquals(4, buf.position());
<a name="234" href="#234">234</a> 
<a name="235" href="#235">235</a>         buf.position(0);
<a name="236" href="#236">236</a>         buf.limit(1);
<a name="237" href="#237">237</a>         Assert.assertEquals(<span class="jxr_string">"A"</span>, buf.getString(decoder));
<a name="238" href="#238">238</a>         Assert.assertEquals(1, buf.position());
<a name="239" href="#239">239</a> 
<a name="240" href="#240">240</a>         buf.clear();
<a name="241" href="#241">241</a>         Assert.assertEquals(<span class="jxr_string">"ABC"</span>, buf.getString(10, decoder));
<a name="242" href="#242">242</a>         Assert.assertEquals(10, buf.position());
<a name="243" href="#243">243</a> 
<a name="244" href="#244">244</a>         buf.clear();
<a name="245" href="#245">245</a>         Assert.assertEquals(<span class="jxr_string">"A"</span>, buf.getString(1, decoder));
<a name="246" href="#246">246</a>         Assert.assertEquals(1, buf.position());
<a name="247" href="#247">247</a> 
<a name="248" href="#248">248</a>         <em class="jxr_comment">// Test a trailing garbage</em>
<a name="249" href="#249">249</a>         buf.clear();
<a name="250" href="#250">250</a>         buf.put((byte) 'A');
<a name="251" href="#251">251</a>         buf.put((byte) 'B');
<a name="252" href="#252">252</a>         buf.put((byte) 0);
<a name="253" href="#253">253</a>         buf.put((byte) 'C');
<a name="254" href="#254">254</a>         buf.position(0);
<a name="255" href="#255">255</a>         Assert.assertEquals(<span class="jxr_string">"AB"</span>, buf.getString(4, decoder));
<a name="256" href="#256">256</a>         Assert.assertEquals(4, buf.position());
<a name="257" href="#257">257</a> 
<a name="258" href="#258">258</a>         buf.clear();
<a name="259" href="#259">259</a>         buf.fillAndReset(buf.limit());
<a name="260" href="#260">260</a>         decoder = Charset.forName(<span class="jxr_string">"UTF-16"</span>).newDecoder();
<a name="261" href="#261">261</a>         buf.put((byte) 0);
<a name="262" href="#262">262</a>         buf.put((byte) 'A');
<a name="263" href="#263">263</a>         buf.put((byte) 0);
<a name="264" href="#264">264</a>         buf.put((byte) 'B');
<a name="265" href="#265">265</a>         buf.put((byte) 0);
<a name="266" href="#266">266</a>         buf.put((byte) 'C');
<a name="267" href="#267">267</a>         buf.put((byte) 0);
<a name="268" href="#268">268</a>         buf.put((byte) 0);
<a name="269" href="#269">269</a> 
<a name="270" href="#270">270</a>         buf.position(0);
<a name="271" href="#271">271</a>         Assert.assertEquals(<span class="jxr_string">"ABC"</span>, buf.getString(decoder));
<a name="272" href="#272">272</a>         Assert.assertEquals(8, buf.position());
<a name="273" href="#273">273</a> 
<a name="274" href="#274">274</a>         buf.position(0);
<a name="275" href="#275">275</a>         buf.limit(2);
<a name="276" href="#276">276</a>         Assert.assertEquals(<span class="jxr_string">"A"</span>, buf.getString(decoder));
<a name="277" href="#277">277</a>         Assert.assertEquals(2, buf.position());
<a name="278" href="#278">278</a> 
<a name="279" href="#279">279</a>         buf.position(0);
<a name="280" href="#280">280</a>         buf.limit(3);
<a name="281" href="#281">281</a>         Assert.assertEquals(<span class="jxr_string">"A"</span>, buf.getString(decoder));
<a name="282" href="#282">282</a>         Assert.assertEquals(2, buf.position());
<a name="283" href="#283">283</a> 
<a name="284" href="#284">284</a>         buf.clear();
<a name="285" href="#285">285</a>         Assert.assertEquals(<span class="jxr_string">"ABC"</span>, buf.getString(10, decoder));
<a name="286" href="#286">286</a>         Assert.assertEquals(10, buf.position());
<a name="287" href="#287">287</a> 
<a name="288" href="#288">288</a>         buf.clear();
<a name="289" href="#289">289</a>         Assert.assertEquals(<span class="jxr_string">"A"</span>, buf.getString(2, decoder));
<a name="290" href="#290">290</a>         Assert.assertEquals(2, buf.position());
<a name="291" href="#291">291</a> 
<a name="292" href="#292">292</a>         buf.clear();
<a name="293" href="#293">293</a>         <strong class="jxr_keyword">try</strong> {
<a name="294" href="#294">294</a>             buf.getString(1, decoder);
<a name="295" href="#295">295</a>             Assert.fail();
<a name="296" href="#296">296</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
<a name="297" href="#297">297</a>             <em class="jxr_comment">// ignore</em>
<a name="298" href="#298">298</a>         }
<a name="299" href="#299">299</a> 
<a name="300" href="#300">300</a>         <em class="jxr_comment">// Test getting strings from an empty buffer.</em>
<a name="301" href="#301">301</a>         buf.clear();
<a name="302" href="#302">302</a>         buf.limit(0);
<a name="303" href="#303">303</a>         Assert.assertEquals(<span class="jxr_string">""</span>, buf.getString(decoder));
<a name="304" href="#304">304</a>         Assert.assertEquals(<span class="jxr_string">""</span>, buf.getString(2, decoder));
<a name="305" href="#305">305</a> 
<a name="306" href="#306">306</a>         <em class="jxr_comment">// Test getting strings from non-empty buffer which is filled with 0x00</em>
<a name="307" href="#307">307</a>         buf.clear();
<a name="308" href="#308">308</a>         buf.putInt(0);
<a name="309" href="#309">309</a>         buf.clear();
<a name="310" href="#310">310</a>         buf.limit(4);
<a name="311" href="#311">311</a>         Assert.assertEquals(<span class="jxr_string">""</span>, buf.getString(decoder));
<a name="312" href="#312">312</a>         Assert.assertEquals(2, buf.position());
<a name="313" href="#313">313</a>         Assert.assertEquals(4, buf.limit());
<a name="314" href="#314">314</a> 
<a name="315" href="#315">315</a>         buf.position(0);
<a name="316" href="#316">316</a>         Assert.assertEquals(<span class="jxr_string">""</span>, buf.getString(2, decoder));
<a name="317" href="#317">317</a>         Assert.assertEquals(2, buf.position());
<a name="318" href="#318">318</a>         Assert.assertEquals(4, buf.limit());
<a name="319" href="#319">319</a>     }
<a name="320" href="#320">320</a> 
<a name="321" href="#321">321</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetStringWithFailure() <strong class="jxr_keyword">throws</strong> Exception {
<a name="322" href="#322">322</a>         String test = <span class="jxr_string">"\u30b3\u30e1\u30f3\u30c8\u7de8\u96c6"</span>;
<a name="323" href="#323">323</a>         IoBuffer buffer = IoBuffer.wrap(test.getBytes(<span class="jxr_string">"Shift_JIS"</span>));
<a name="324" href="#324">324</a> 
<a name="325" href="#325">325</a>         <em class="jxr_comment">// Make sure the limit doesn't change when an exception arose.</em>
<a name="326" href="#326">326</a>         <strong class="jxr_keyword">int</strong> oldLimit = buffer.limit();
<a name="327" href="#327">327</a>         <strong class="jxr_keyword">int</strong> oldPos = buffer.position();
<a name="328" href="#328">328</a>         <strong class="jxr_keyword">try</strong> {
<a name="329" href="#329">329</a>             buffer.getString(3, Charset.forName(<span class="jxr_string">"ASCII"</span>).newDecoder());
<a name="330" href="#330">330</a>             Assert.fail();
<a name="331" href="#331">331</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="332" href="#332">332</a>             Assert.assertEquals(oldLimit, buffer.limit());
<a name="333" href="#333">333</a>             Assert.assertEquals(oldPos, buffer.position());
<a name="334" href="#334">334</a>         }
<a name="335" href="#335">335</a> 
<a name="336" href="#336">336</a>         <strong class="jxr_keyword">try</strong> {
<a name="337" href="#337">337</a>             buffer.getString(Charset.forName(<span class="jxr_string">"ASCII"</span>).newDecoder());
<a name="338" href="#338">338</a>             Assert.fail();
<a name="339" href="#339">339</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="340" href="#340">340</a>             Assert.assertEquals(oldLimit, buffer.limit());
<a name="341" href="#341">341</a>             Assert.assertEquals(oldPos, buffer.position());
<a name="342" href="#342">342</a>         }
<a name="343" href="#343">343</a>     }
<a name="344" href="#344">344</a> 
<a name="345" href="#345">345</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPutString() <strong class="jxr_keyword">throws</strong> Exception {
<a name="346" href="#346">346</a>         CharsetEncoder encoder;
<a name="347" href="#347">347</a>         IoBuffer buf = IoBuffer.allocate(16);
<a name="348" href="#348">348</a>         encoder = Charset.forName(<span class="jxr_string">"ISO-8859-1"</span>).newEncoder();
<a name="349" href="#349">349</a> 
<a name="350" href="#350">350</a>         buf.putString(<span class="jxr_string">"ABC"</span>, encoder);
<a name="351" href="#351">351</a>         Assert.assertEquals(3, buf.position());
<a name="352" href="#352">352</a>         buf.clear();
<a name="353" href="#353">353</a>         Assert.assertEquals('A', buf.get(0));
<a name="354" href="#354">354</a>         Assert.assertEquals('B', buf.get(1));
<a name="355" href="#355">355</a>         Assert.assertEquals('C', buf.get(2));
<a name="356" href="#356">356</a> 
<a name="357" href="#357">357</a>         buf.putString(<span class="jxr_string">"D"</span>, 5, encoder);
<a name="358" href="#358">358</a>         Assert.assertEquals(5, buf.position());
<a name="359" href="#359">359</a>         buf.clear();
<a name="360" href="#360">360</a>         Assert.assertEquals('D', buf.get(0));
<a name="361" href="#361">361</a>         Assert.assertEquals(0, buf.get(1));
<a name="362" href="#362">362</a> 
<a name="363" href="#363">363</a>         buf.putString(<span class="jxr_string">"EFG"</span>, 2, encoder);
<a name="364" href="#364">364</a>         Assert.assertEquals(2, buf.position());
<a name="365" href="#365">365</a>         buf.clear();
<a name="366" href="#366">366</a>         Assert.assertEquals('E', buf.get(0));
<a name="367" href="#367">367</a>         Assert.assertEquals('F', buf.get(1));
<a name="368" href="#368">368</a>         Assert.assertEquals('C', buf.get(2)); <em class="jxr_comment">// C may not be overwritten</em>
<a name="369" href="#369">369</a> 
<a name="370" href="#370">370</a>         <em class="jxr_comment">// UTF-16: We specify byte order to omit BOM.</em>
<a name="371" href="#371">371</a>         encoder = Charset.forName(<span class="jxr_string">"UTF-16BE"</span>).newEncoder();
<a name="372" href="#372">372</a>         buf.clear();
<a name="373" href="#373">373</a> 
<a name="374" href="#374">374</a>         buf.putString(<span class="jxr_string">"ABC"</span>, encoder);
<a name="375" href="#375">375</a>         Assert.assertEquals(6, buf.position());
<a name="376" href="#376">376</a>         buf.clear();
<a name="377" href="#377">377</a> 
<a name="378" href="#378">378</a>         Assert.assertEquals(0, buf.get(0));
<a name="379" href="#379">379</a>         Assert.assertEquals('A', buf.get(1));
<a name="380" href="#380">380</a>         Assert.assertEquals(0, buf.get(2));
<a name="381" href="#381">381</a>         Assert.assertEquals('B', buf.get(3));
<a name="382" href="#382">382</a>         Assert.assertEquals(0, buf.get(4));
<a name="383" href="#383">383</a>         Assert.assertEquals('C', buf.get(5));
<a name="384" href="#384">384</a> 
<a name="385" href="#385">385</a>         buf.putString(<span class="jxr_string">"D"</span>, 10, encoder);
<a name="386" href="#386">386</a>         Assert.assertEquals(10, buf.position());
<a name="387" href="#387">387</a>         buf.clear();
<a name="388" href="#388">388</a>         Assert.assertEquals(0, buf.get(0));
<a name="389" href="#389">389</a>         Assert.assertEquals('D', buf.get(1));
<a name="390" href="#390">390</a>         Assert.assertEquals(0, buf.get(2));
<a name="391" href="#391">391</a>         Assert.assertEquals(0, buf.get(3));
<a name="392" href="#392">392</a> 
<a name="393" href="#393">393</a>         buf.putString(<span class="jxr_string">"EFG"</span>, 4, encoder);
<a name="394" href="#394">394</a>         Assert.assertEquals(4, buf.position());
<a name="395" href="#395">395</a>         buf.clear();
<a name="396" href="#396">396</a>         Assert.assertEquals(0, buf.get(0));
<a name="397" href="#397">397</a>         Assert.assertEquals('E', buf.get(1));
<a name="398" href="#398">398</a>         Assert.assertEquals(0, buf.get(2));
<a name="399" href="#399">399</a>         Assert.assertEquals('F', buf.get(3));
<a name="400" href="#400">400</a>         Assert.assertEquals(0, buf.get(4)); <em class="jxr_comment">// C may not be overwritten</em>
<a name="401" href="#401">401</a>         Assert.assertEquals('C', buf.get(5)); <em class="jxr_comment">// C may not be overwritten</em>
<a name="402" href="#402">402</a> 
<a name="403" href="#403">403</a>         <em class="jxr_comment">// Test putting an emptry string</em>
<a name="404" href="#404">404</a>         buf.putString(<span class="jxr_string">""</span>, encoder);
<a name="405" href="#405">405</a>         Assert.assertEquals(0, buf.position());
<a name="406" href="#406">406</a>         buf.putString(<span class="jxr_string">""</span>, 4, encoder);
<a name="407" href="#407">407</a>         Assert.assertEquals(4, buf.position());
<a name="408" href="#408">408</a>         Assert.assertEquals(0, buf.get(0));
<a name="409" href="#409">409</a>         Assert.assertEquals(0, buf.get(1));
<a name="410" href="#410">410</a>     }
<a name="411" href="#411">411</a> 
<a name="412" href="#412">412</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetPrefixedString() <strong class="jxr_keyword">throws</strong> Exception {
<a name="413" href="#413">413</a>         IoBuffer buf = IoBuffer.allocate(16);
<a name="414" href="#414">414</a>         CharsetEncoder encoder;
<a name="415" href="#415">415</a>         CharsetDecoder decoder;
<a name="416" href="#416">416</a>         encoder = Charset.forName(<span class="jxr_string">"ISO-8859-1"</span>).newEncoder();
<a name="417" href="#417">417</a>         decoder = Charset.forName(<span class="jxr_string">"ISO-8859-1"</span>).newDecoder();
<a name="418" href="#418">418</a> 
<a name="419" href="#419">419</a>         buf.putShort((<strong class="jxr_keyword">short</strong>) 3);
<a name="420" href="#420">420</a>         buf.putString(<span class="jxr_string">"ABCD"</span>, encoder);
<a name="421" href="#421">421</a>         buf.clear();
<a name="422" href="#422">422</a>         Assert.assertEquals(<span class="jxr_string">"ABC"</span>, buf.getPrefixedString(decoder));
<a name="423" href="#423">423</a>     }
<a name="424" href="#424">424</a> 
<a name="425" href="#425">425</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPutPrefixedString() <strong class="jxr_keyword">throws</strong> Exception {
<a name="426" href="#426">426</a>         CharsetEncoder encoder;
<a name="427" href="#427">427</a>         IoBuffer buf = IoBuffer.allocate(16);
<a name="428" href="#428">428</a>         buf.fillAndReset(buf.remaining());
<a name="429" href="#429">429</a>         encoder = Charset.forName(<span class="jxr_string">"ISO-8859-1"</span>).newEncoder();
<a name="430" href="#430">430</a> 
<a name="431" href="#431">431</a>         <em class="jxr_comment">// Without autoExpand</em>
<a name="432" href="#432">432</a>         buf.putPrefixedString(<span class="jxr_string">"ABC"</span>, encoder);
<a name="433" href="#433">433</a>         Assert.assertEquals(5, buf.position());
<a name="434" href="#434">434</a>         Assert.assertEquals(0, buf.get(0));
<a name="435" href="#435">435</a>         Assert.assertEquals(3, buf.get(1));
<a name="436" href="#436">436</a>         Assert.assertEquals('A', buf.get(2));
<a name="437" href="#437">437</a>         Assert.assertEquals('B', buf.get(3));
<a name="438" href="#438">438</a>         Assert.assertEquals('C', buf.get(4));
<a name="439" href="#439">439</a> 
<a name="440" href="#440">440</a>         buf.clear();
<a name="441" href="#441">441</a>         <strong class="jxr_keyword">try</strong> {
<a name="442" href="#442">442</a>             buf.putPrefixedString(<span class="jxr_string">"123456789012345"</span>, encoder);
<a name="443" href="#443">443</a>             Assert.fail();
<a name="444" href="#444">444</a>         } <strong class="jxr_keyword">catch</strong> (BufferOverflowException e) {
<a name="445" href="#445">445</a>             <em class="jxr_comment">// OK</em>
<a name="446" href="#446">446</a>         }
<a name="447" href="#447">447</a> 
<a name="448" href="#448">448</a>         <em class="jxr_comment">// With autoExpand</em>
<a name="449" href="#449">449</a>         buf.clear();
<a name="450" href="#450">450</a>         buf.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="451" href="#451">451</a>         buf.putPrefixedString(<span class="jxr_string">"123456789012345"</span>, encoder);
<a name="452" href="#452">452</a>         Assert.assertEquals(17, buf.position());
<a name="453" href="#453">453</a>         Assert.assertEquals(0, buf.get(0));
<a name="454" href="#454">454</a>         Assert.assertEquals(15, buf.get(1));
<a name="455" href="#455">455</a>         Assert.assertEquals('1', buf.get(2));
<a name="456" href="#456">456</a>         Assert.assertEquals('2', buf.get(3));
<a name="457" href="#457">457</a>         Assert.assertEquals('3', buf.get(4));
<a name="458" href="#458">458</a>         Assert.assertEquals('4', buf.get(5));
<a name="459" href="#459">459</a>         Assert.assertEquals('5', buf.get(6));
<a name="460" href="#460">460</a>         Assert.assertEquals('6', buf.get(7));
<a name="461" href="#461">461</a>         Assert.assertEquals('7', buf.get(8));
<a name="462" href="#462">462</a>         Assert.assertEquals('8', buf.get(9));
<a name="463" href="#463">463</a>         Assert.assertEquals('9', buf.get(10));
<a name="464" href="#464">464</a>         Assert.assertEquals('0', buf.get(11));
<a name="465" href="#465">465</a>         Assert.assertEquals('1', buf.get(12));
<a name="466" href="#466">466</a>         Assert.assertEquals('2', buf.get(13));
<a name="467" href="#467">467</a>         Assert.assertEquals('3', buf.get(14));
<a name="468" href="#468">468</a>         Assert.assertEquals('4', buf.get(15));
<a name="469" href="#469">469</a>         Assert.assertEquals('5', buf.get(16));
<a name="470" href="#470">470</a>     }
<a name="471" href="#471">471</a> 
<a name="472" href="#472">472</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPutPrefixedStringWithPrefixLength() <strong class="jxr_keyword">throws</strong> Exception {
<a name="473" href="#473">473</a>         CharsetEncoder encoder = Charset.forName(<span class="jxr_string">"ISO-8859-1"</span>).newEncoder();
<a name="474" href="#474">474</a>         IoBuffer buf = IoBuffer.allocate(16).sweep().setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="475" href="#475">475</a> 
<a name="476" href="#476">476</a>         buf.putPrefixedString(<span class="jxr_string">"A"</span>, 1, encoder);
<a name="477" href="#477">477</a>         Assert.assertEquals(2, buf.position());
<a name="478" href="#478">478</a>         Assert.assertEquals(1, buf.get(0));
<a name="479" href="#479">479</a>         Assert.assertEquals('A', buf.get(1));
<a name="480" href="#480">480</a> 
<a name="481" href="#481">481</a>         buf.sweep();
<a name="482" href="#482">482</a>         buf.putPrefixedString(<span class="jxr_string">"A"</span>, 2, encoder);
<a name="483" href="#483">483</a>         Assert.assertEquals(3, buf.position());
<a name="484" href="#484">484</a>         Assert.assertEquals(0, buf.get(0));
<a name="485" href="#485">485</a>         Assert.assertEquals(1, buf.get(1));
<a name="486" href="#486">486</a>         Assert.assertEquals('A', buf.get(2));
<a name="487" href="#487">487</a> 
<a name="488" href="#488">488</a>         buf.sweep();
<a name="489" href="#489">489</a>         buf.putPrefixedString(<span class="jxr_string">"A"</span>, 4, encoder);
<a name="490" href="#490">490</a>         Assert.assertEquals(5, buf.position());
<a name="491" href="#491">491</a>         Assert.assertEquals(0, buf.get(0));
<a name="492" href="#492">492</a>         Assert.assertEquals(0, buf.get(1));
<a name="493" href="#493">493</a>         Assert.assertEquals(0, buf.get(2));
<a name="494" href="#494">494</a>         Assert.assertEquals(1, buf.get(3));
<a name="495" href="#495">495</a>         Assert.assertEquals('A', buf.get(4));
<a name="496" href="#496">496</a>     }
<a name="497" href="#497">497</a> 
<a name="498" href="#498">498</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPutPrefixedStringWithPadding() <strong class="jxr_keyword">throws</strong> Exception {
<a name="499" href="#499">499</a>         CharsetEncoder encoder = Charset.forName(<span class="jxr_string">"ISO-8859-1"</span>).newEncoder();
<a name="500" href="#500">500</a>         IoBuffer buf = IoBuffer.allocate(16).sweep().setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="501" href="#501">501</a> 
<a name="502" href="#502">502</a>         buf.putPrefixedString(<span class="jxr_string">"A"</span>, 1, 2, (byte) 32, encoder);
<a name="503" href="#503">503</a>         Assert.assertEquals(3, buf.position());
<a name="504" href="#504">504</a>         Assert.assertEquals(2, buf.get(0));
<a name="505" href="#505">505</a>         Assert.assertEquals('A', buf.get(1));
<a name="506" href="#506">506</a>         Assert.assertEquals(' ', buf.get(2));
<a name="507" href="#507">507</a> 
<a name="508" href="#508">508</a>         buf.sweep();
<a name="509" href="#509">509</a>         buf.putPrefixedString(<span class="jxr_string">"A"</span>, 1, 4, (byte) 32, encoder);
<a name="510" href="#510">510</a>         Assert.assertEquals(5, buf.position());
<a name="511" href="#511">511</a>         Assert.assertEquals(4, buf.get(0));
<a name="512" href="#512">512</a>         Assert.assertEquals('A', buf.get(1));
<a name="513" href="#513">513</a>         Assert.assertEquals(' ', buf.get(2));
<a name="514" href="#514">514</a>         Assert.assertEquals(' ', buf.get(3));
<a name="515" href="#515">515</a>         Assert.assertEquals(' ', buf.get(4));
<a name="516" href="#516">516</a>     }
<a name="517" href="#517">517</a> 
<a name="518" href="#518">518</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWideUtf8Characters() <strong class="jxr_keyword">throws</strong> Exception {
<a name="519" href="#519">519</a>         Runnable r = <strong class="jxr_keyword">new</strong> Runnable() {
<a name="520" href="#520">520</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a name="521" href="#521">521</a>                 IoBuffer buffer = IoBuffer.allocate(1);
<a name="522" href="#522">522</a>                 buffer.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="523" href="#523">523</a> 
<a name="524" href="#524">524</a>                 Charset charset = Charset.forName(<span class="jxr_string">"UTF-8"</span>);
<a name="525" href="#525">525</a> 
<a name="526" href="#526">526</a>                 CharsetEncoder encoder = charset.newEncoder();
<a name="527" href="#527">527</a> 
<a name="528" href="#528">528</a>                 <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 5; i++) {
<a name="529" href="#529">529</a>                     <strong class="jxr_keyword">try</strong> {
<a name="530" href="#530">530</a>                         buffer.putString(<span class="jxr_string">"\u89d2"</span>, encoder);
<a name="531" href="#531">531</a>                         buffer.putPrefixedString(<span class="jxr_string">"\u89d2"</span>, encoder);
<a name="532" href="#532">532</a>                     } <strong class="jxr_keyword">catch</strong> (CharacterCodingException e) {
<a name="533" href="#533">533</a>                         fail(e.getMessage());
<a name="534" href="#534">534</a>                     }
<a name="535" href="#535">535</a>                 }
<a name="536" href="#536">536</a>             }
<a name="537" href="#537">537</a>         };
<a name="538" href="#538">538</a> 
<a name="539" href="#539">539</a>         Thread t = <strong class="jxr_keyword">new</strong> Thread(r);
<a name="540" href="#540">540</a>         t.setDaemon(<strong class="jxr_keyword">true</strong>);
<a name="541" href="#541">541</a>         t.start();
<a name="542" href="#542">542</a> 
<a name="543" href="#543">543</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 50; i++) {
<a name="544" href="#544">544</a>             Thread.sleep(100);
<a name="545" href="#545">545</a>             <strong class="jxr_keyword">if</strong> (!t.isAlive()) {
<a name="546" href="#546">546</a>                 <strong class="jxr_keyword">break</strong>;
<a name="547" href="#547">547</a>             }
<a name="548" href="#548">548</a>         }
<a name="549" href="#549">549</a> 
<a name="550" href="#550">550</a>         <strong class="jxr_keyword">if</strong> (t.isAlive()) {
<a name="551" href="#551">551</a>             t.interrupt();
<a name="552" href="#552">552</a> 
<a name="553" href="#553">553</a>             fail(<span class="jxr_string">"Went into endless loop trying to encode character"</span>);
<a name="554" href="#554">554</a>         }
<a name="555" href="#555">555</a>     }
<a name="556" href="#556">556</a> 
<a name="557" href="#557">557</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testObjectSerialization() <strong class="jxr_keyword">throws</strong> Exception {
<a name="558" href="#558">558</a>         IoBuffer buf = IoBuffer.allocate(16);
<a name="559" href="#559">559</a>         buf.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="560" href="#560">560</a>         List&lt;Object&gt; o = <strong class="jxr_keyword">new</strong> ArrayList&lt;Object&gt;();
<a name="561" href="#561">561</a>         o.add(<strong class="jxr_keyword">new</strong> Date());
<a name="562" href="#562">562</a>         o.add(<strong class="jxr_keyword">long</strong>.<strong class="jxr_keyword">class</strong>);
<a name="563" href="#563">563</a> 
<a name="564" href="#564">564</a>         <em class="jxr_comment">// Test writing an object.</em>
<a name="565" href="#565">565</a>         buf.putObject(o);
<a name="566" href="#566">566</a> 
<a name="567" href="#567">567</a>         <em class="jxr_comment">// Test reading an object.</em>
<a name="568" href="#568">568</a>         buf.clear();
<a name="569" href="#569">569</a>         Object o2 = buf.getObject();
<a name="570" href="#570">570</a>         Assert.assertEquals(o, o2);
<a name="571" href="#571">571</a> 
<a name="572" href="#572">572</a>         <em class="jxr_comment">// This assertion is just to make sure that deserialization occurred.</em>
<a name="573" href="#573">573</a>         Assert.assertNotSame(o, o2);
<a name="574" href="#574">574</a>     }
<a name="575" href="#575">575</a> 
<a name="576" href="#576">576</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testInheritedObjectSerialization() <strong class="jxr_keyword">throws</strong> Exception {
<a name="577" href="#577">577</a>         IoBuffer buf = IoBuffer.allocate(16);
<a name="578" href="#578">578</a>         buf.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="579" href="#579">579</a> 
<a name="580" href="#580">580</a>         <a href="../../../../org/apache/mina/util/Bar.html">Bar</a> expected = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/util/Bar.html">Bar</a>();
<a name="581" href="#581">581</a>         expected.setFooValue(0x12345678);
<a name="582" href="#582">582</a>         expected.setBarValue(0x90ABCDEF);
<a name="583" href="#583">583</a> 
<a name="584" href="#584">584</a>         <em class="jxr_comment">// Test writing an object.</em>
<a name="585" href="#585">585</a>         buf.putObject(expected);
<a name="586" href="#586">586</a> 
<a name="587" href="#587">587</a>         <em class="jxr_comment">// Test reading an object.</em>
<a name="588" href="#588">588</a>         buf.clear();
<a name="589" href="#589">589</a>         <a href="../../../../org/apache/mina/util/Bar.html">Bar</a> actual = (Bar) buf.getObject();
<a name="590" href="#590">590</a>         Assert.assertSame(Bar.<strong class="jxr_keyword">class</strong>, actual.getClass());
<a name="591" href="#591">591</a>         Assert.assertEquals(expected.getFooValue(), actual.getFooValue());
<a name="592" href="#592">592</a>         Assert.assertEquals(expected.getBarValue(), actual.getBarValue());
<a name="593" href="#593">593</a> 
<a name="594" href="#594">594</a>         <em class="jxr_comment">// This assertion is just to make sure that deserialization occurred.</em>
<a name="595" href="#595">595</a>         Assert.assertNotSame(expected, actual);
<a name="596" href="#596">596</a>     }
<a name="597" href="#597">597</a> 
<a name="598" href="#598">598</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSweepWithZeros() <strong class="jxr_keyword">throws</strong> Exception {
<a name="599" href="#599">599</a>         IoBuffer buf = IoBuffer.allocate(4);
<a name="600" href="#600">600</a>         buf.putInt(0xdeadbeef);
<a name="601" href="#601">601</a>         buf.clear();
<a name="602" href="#602">602</a>         Assert.assertEquals(0xdeadbeef, buf.getInt());
<a name="603" href="#603">603</a>         Assert.assertEquals(4, buf.position());
<a name="604" href="#604">604</a>         Assert.assertEquals(4, buf.limit());
<a name="605" href="#605">605</a> 
<a name="606" href="#606">606</a>         buf.sweep();
<a name="607" href="#607">607</a>         Assert.assertEquals(0, buf.position());
<a name="608" href="#608">608</a>         Assert.assertEquals(4, buf.limit());
<a name="609" href="#609">609</a>         Assert.assertEquals(0x0, buf.getInt());
<a name="610" href="#610">610</a>     }
<a name="611" href="#611">611</a> 
<a name="612" href="#612">612</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSweepNonZeros() <strong class="jxr_keyword">throws</strong> Exception {
<a name="613" href="#613">613</a>         IoBuffer buf = IoBuffer.allocate(4);
<a name="614" href="#614">614</a>         buf.putInt(0xdeadbeef);
<a name="615" href="#615">615</a>         buf.clear();
<a name="616" href="#616">616</a>         Assert.assertEquals(0xdeadbeef, buf.getInt());
<a name="617" href="#617">617</a>         Assert.assertEquals(4, buf.position());
<a name="618" href="#618">618</a>         Assert.assertEquals(4, buf.limit());
<a name="619" href="#619">619</a> 
<a name="620" href="#620">620</a>         buf.sweep((byte) 0x45);
<a name="621" href="#621">621</a>         Assert.assertEquals(0, buf.position());
<a name="622" href="#622">622</a>         Assert.assertEquals(4, buf.limit());
<a name="623" href="#623">623</a>         Assert.assertEquals(0x45454545, buf.getInt());
<a name="624" href="#624">624</a>     }
<a name="625" href="#625">625</a> 
<a name="626" href="#626">626</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWrapNioBuffer() <strong class="jxr_keyword">throws</strong> Exception {
<a name="627" href="#627">627</a>         ByteBuffer nioBuf = ByteBuffer.allocate(10);
<a name="628" href="#628">628</a>         nioBuf.position(3);
<a name="629" href="#629">629</a>         nioBuf.limit(7);
<a name="630" href="#630">630</a> 
<a name="631" href="#631">631</a>         IoBuffer buf = IoBuffer.wrap(nioBuf);
<a name="632" href="#632">632</a>         Assert.assertEquals(3, buf.position());
<a name="633" href="#633">633</a>         Assert.assertEquals(7, buf.limit());
<a name="634" href="#634">634</a>         Assert.assertEquals(10, buf.capacity());
<a name="635" href="#635">635</a>     }
<a name="636" href="#636">636</a> 
<a name="637" href="#637">637</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testWrapSubArray() <strong class="jxr_keyword">throws</strong> Exception {
<a name="638" href="#638">638</a>         byte[] array = <strong class="jxr_keyword">new</strong> byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
<a name="639" href="#639">639</a> 
<a name="640" href="#640">640</a>         IoBuffer buf = IoBuffer.wrap(array, 3, 4);
<a name="641" href="#641">641</a>         Assert.assertEquals(3, buf.position());
<a name="642" href="#642">642</a>         Assert.assertEquals(7, buf.limit());
<a name="643" href="#643">643</a>         Assert.assertEquals(10, buf.capacity());
<a name="644" href="#644">644</a> 
<a name="645" href="#645">645</a>         buf.clear();
<a name="646" href="#646">646</a>         Assert.assertEquals(0, buf.position());
<a name="647" href="#647">647</a>         Assert.assertEquals(10, buf.limit());
<a name="648" href="#648">648</a>         Assert.assertEquals(10, buf.capacity());
<a name="649" href="#649">649</a>     }
<a name="650" href="#650">650</a> 
<a name="651" href="#651">651</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDuplicate() <strong class="jxr_keyword">throws</strong> Exception {
<a name="652" href="#652">652</a>         IoBuffer original;
<a name="653" href="#653">653</a>         IoBuffer duplicate;
<a name="654" href="#654">654</a> 
<a name="655" href="#655">655</a>         <em class="jxr_comment">// Test if the buffer is duplicated correctly.</em>
<a name="656" href="#656">656</a>         original = IoBuffer.allocate(16).sweep();
<a name="657" href="#657">657</a>         original.position(4);
<a name="658" href="#658">658</a>         original.limit(10);
<a name="659" href="#659">659</a>         duplicate = original.duplicate();
<a name="660" href="#660">660</a>         original.put(4, (byte) 127);
<a name="661" href="#661">661</a>         Assert.assertEquals(4, duplicate.position());
<a name="662" href="#662">662</a>         Assert.assertEquals(10, duplicate.limit());
<a name="663" href="#663">663</a>         Assert.assertEquals(16, duplicate.capacity());
<a name="664" href="#664">664</a>         Assert.assertNotSame(original.buf(), duplicate.buf());
<a name="665" href="#665">665</a>         Assert.assertSame(original.buf().array(), duplicate.buf().array());
<a name="666" href="#666">666</a>         Assert.assertEquals(127, duplicate.get(4));
<a name="667" href="#667">667</a> 
<a name="668" href="#668">668</a>         <em class="jxr_comment">// Test a duplicate of a duplicate.</em>
<a name="669" href="#669">669</a>         original = IoBuffer.allocate(16);
<a name="670" href="#670">670</a>         duplicate = original.duplicate().duplicate();
<a name="671" href="#671">671</a>         Assert.assertNotSame(original.buf(), duplicate.buf());
<a name="672" href="#672">672</a>         Assert.assertSame(original.buf().array(), duplicate.buf().array());
<a name="673" href="#673">673</a> 
<a name="674" href="#674">674</a>         <em class="jxr_comment">// Try to expand.</em>
<a name="675" href="#675">675</a>         original = IoBuffer.allocate(16);
<a name="676" href="#676">676</a>         original.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="677" href="#677">677</a>         duplicate = original.duplicate();
<a name="678" href="#678">678</a>         Assert.assertFalse(original.isAutoExpand());
<a name="679" href="#679">679</a> 
<a name="680" href="#680">680</a>         <strong class="jxr_keyword">try</strong> {
<a name="681" href="#681">681</a>             original.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="682" href="#682">682</a>             Assert.fail();
<a name="683" href="#683">683</a>         } <strong class="jxr_keyword">catch</strong> (IllegalStateException e) {
<a name="684" href="#684">684</a>             <em class="jxr_comment">// OK</em>
<a name="685" href="#685">685</a>         }
<a name="686" href="#686">686</a> 
<a name="687" href="#687">687</a>         <strong class="jxr_keyword">try</strong> {
<a name="688" href="#688">688</a>             duplicate.setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a name="689" href="#689">689</a>             Assert.fail();
<a name="690" href="#690">690</a>         } <strong class="jxr_keyword">catch</strong> (IllegalStateException e) {
<a name="691" href="#691">691</a>             <em class="jxr_comment">// OK</em>
<a name="692" href="#692">692</a>         }
<a name="693" href="#693">693</a>     }
<a name="694" href="#694">694</a> 
<a name="695" href="#695">695</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSlice() <strong class="jxr_keyword">throws</strong> Exception {
<a name="696" href="#696">696</a>         IoBuffer original;
<a name="697" href="#697">697</a>         IoBuffer slice;
<a name="698" href="#698">698</a> 
<a name="699" href="#699">699</a>         <em class="jxr_comment">// Test if the buffer is sliced correctly.</em>
<a name="700" href="#700">700</a>         original = IoBuffer.allocate(16).sweep();
<a name="701" href="#701">701</a>         original.position(4);
<a name="702" href="#702">702</a>         original.limit(10);
<a name="703" href="#703">703</a>         slice = original.slice();
<a name="704" href="#704">704</a>         original.put(4, (byte) 127);
<a name="705" href="#705">705</a>         Assert.assertEquals(0, slice.position());
<a name="706" href="#706">706</a>         Assert.assertEquals(6, slice.limit());
<a name="707" href="#707">707</a>         Assert.assertEquals(6, slice.capacity());
<a name="708" href="#708">708</a>         Assert.assertNotSame(original.buf(), slice.buf());
<a name="709" href="#709">709</a>         Assert.assertEquals(127, slice.get(0));
<a name="710" href="#710">710</a>     }
<a name="711" href="#711">711</a> 
<a name="712" href="#712">712</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testReadOnlyBuffer() <strong class="jxr_keyword">throws</strong> Exception {
<a name="713" href="#713">713</a>         IoBuffer original;
<a name="714" href="#714">714</a>         IoBuffer duplicate;
<a name="715" href="#715">715</a> 
<a name="716" href="#716">716</a>         <em class="jxr_comment">// Test if the buffer is duplicated correctly.</em>
<a name="717" href="#717">717</a>         original = IoBuffer.allocate(16).sweep();
<a name="718" href="#718">718</a>         original.position(4);
<a name="719" href="#719">719</a>         original.limit(10);
<a name="720" href="#720">720</a>         duplicate = original.asReadOnlyBuffer();
<a name="721" href="#721">721</a>         original.put(4, (byte) 127);
<a name="722" href="#722">722</a>         Assert.assertEquals(4, duplicate.position());
<a name="723" href="#723">723</a>         Assert.assertEquals(10, duplicate.limit());
<a name="724" href="#724">724</a>         Assert.assertEquals(16, duplicate.capacity());
<a name="725" href="#725">725</a>         Assert.assertNotSame(original.buf(), duplicate.buf());
<a name="726" href="#726">726</a>         Assert.assertEquals(127, duplicate.get(4));
<a name="727" href="#727">727</a> 
<a name="728" href="#728">728</a>         <em class="jxr_comment">// Try to expand.</em>
<a name="729" href="#729">729</a>         <strong class="jxr_keyword">try</strong> {
<a name="730" href="#730">730</a>             original = IoBuffer.allocate(16);
<a name="731" href="#731">731</a>             duplicate = original.asReadOnlyBuffer();
<a name="732" href="#732">732</a>             duplicate.putString(<span class="jxr_string">"A very very very very looooooong string"</span>,
<a name="733" href="#733">733</a>                     Charset.forName(<span class="jxr_string">"ISO-8859-1"</span>).newEncoder());
<a name="734" href="#734">734</a>             Assert.fail();
<a name="735" href="#735">735</a>         } <strong class="jxr_keyword">catch</strong> (ReadOnlyBufferException e) {
<a name="736" href="#736">736</a>             <em class="jxr_comment">// OK</em>
<a name="737" href="#737">737</a>         }
<a name="738" href="#738">738</a>     }
<a name="739" href="#739">739</a> 
<a name="740" href="#740">740</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetUnsigned() <strong class="jxr_keyword">throws</strong> Exception {
<a name="741" href="#741">741</a>         IoBuffer buf = IoBuffer.allocate(16);
<a name="742" href="#742">742</a>         buf.put((byte) 0xA4);
<a name="743" href="#743">743</a>         buf.put((byte) 0xD0);
<a name="744" href="#744">744</a>         buf.put((byte) 0xB3);
<a name="745" href="#745">745</a>         buf.put((byte) 0xCD);
<a name="746" href="#746">746</a>         buf.flip();
<a name="747" href="#747">747</a> 
<a name="748" href="#748">748</a>         buf.order(ByteOrder.LITTLE_ENDIAN);
<a name="749" href="#749">749</a> 
<a name="750" href="#750">750</a>         buf.mark();
<a name="751" href="#751">751</a>         Assert.assertEquals(0xA4, buf.getUnsigned());
<a name="752" href="#752">752</a>         buf.reset();
<a name="753" href="#753">753</a>         Assert.assertEquals(0xD0A4, buf.getUnsignedShort());
<a name="754" href="#754">754</a>         buf.reset();
<a name="755" href="#755">755</a>         Assert.assertEquals(0xCDB3D0A4L, buf.getUnsignedInt());
<a name="756" href="#756">756</a>     }
<a name="757" href="#757">757</a> 
<a name="758" href="#758">758</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testIndexOf() <strong class="jxr_keyword">throws</strong> Exception {
<a name="759" href="#759">759</a>         <strong class="jxr_keyword">boolean</strong> direct = false;
<a name="760" href="#760">760</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; 2; i++, direct = !direct) {
<a name="761" href="#761">761</a>             IoBuffer buf = IoBuffer.allocate(16, direct);
<a name="762" href="#762">762</a>             buf.put((byte) 0x1);
<a name="763" href="#763">763</a>             buf.put((byte) 0x2);
<a name="764" href="#764">764</a>             buf.put((byte) 0x3);
<a name="765" href="#765">765</a>             buf.put((byte) 0x4);
<a name="766" href="#766">766</a>             buf.put((byte) 0x1);
<a name="767" href="#767">767</a>             buf.put((byte) 0x2);
<a name="768" href="#768">768</a>             buf.put((byte) 0x3);
<a name="769" href="#769">769</a>             buf.put((byte) 0x4);
<a name="770" href="#770">770</a>             buf.position(2);
<a name="771" href="#771">771</a>             buf.limit(5);
<a name="772" href="#772">772</a> 
<a name="773" href="#773">773</a>             Assert.assertEquals(4, buf.indexOf((byte) 0x1));
<a name="774" href="#774">774</a>             Assert.assertEquals(-1, buf.indexOf((byte) 0x2));
<a name="775" href="#775">775</a>             Assert.assertEquals(2, buf.indexOf((byte) 0x3));
<a name="776" href="#776">776</a>             Assert.assertEquals(3, buf.indexOf((byte) 0x4));
<a name="777" href="#777">777</a>         }
<a name="778" href="#778">778</a>     }
<a name="779" href="#779">779</a> 
<a name="780" href="#780">780</a>     <em class="jxr_comment">// We need an enum with 64 values</em>
<a name="781" href="#781">781</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> enum <a href="../../../../org/apache/mina/core/IoBufferTest.html">TestEnum</a> {
<a name="782" href="#782">782</a>         E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E77, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64
<a name="783" href="#783">783</a>     }
<a name="784" href="#784">784</a> 
<a name="785" href="#785">785</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> enum <a href="../../../../org/apache/mina/core/IoBufferTest.html">TooBigEnum</a> {
<a name="786" href="#786">786</a>         E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, E24, E25, E26, E27, E28, E29, E30, E31, E32, E33, E34, E35, E36, E37, E38, E39, E40, E41, E42, E43, E44, E45, E46, E77, E48, E49, E50, E51, E52, E53, E54, E55, E56, E57, E58, E59, E60, E61, E62, E63, E64, E65
<a name="787" href="#787">787</a>     }
<a name="788" href="#788">788</a> 
<a name="789" href="#789">789</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPutEnumSet() {
<a name="790" href="#790">790</a>         IoBuffer buf = IoBuffer.allocate(8);
<a name="791" href="#791">791</a> 
<a name="792" href="#792">792</a>         <em class="jxr_comment">// Test empty set</em>
<a name="793" href="#793">793</a>         buf.putEnumSet(EnumSet.noneOf(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="794" href="#794">794</a>         buf.flip();
<a name="795" href="#795">795</a>         assertEquals(0, buf.get());
<a name="796" href="#796">796</a> 
<a name="797" href="#797">797</a>         buf.clear();
<a name="798" href="#798">798</a>         buf.putEnumSetShort(EnumSet.noneOf(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="799" href="#799">799</a>         buf.flip();
<a name="800" href="#800">800</a>         assertEquals(0, buf.getShort());
<a name="801" href="#801">801</a> 
<a name="802" href="#802">802</a>         buf.clear();
<a name="803" href="#803">803</a>         buf.putEnumSetInt(EnumSet.noneOf(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="804" href="#804">804</a>         buf.flip();
<a name="805" href="#805">805</a>         assertEquals(0, buf.getInt());
<a name="806" href="#806">806</a> 
<a name="807" href="#807">807</a>         buf.clear();
<a name="808" href="#808">808</a>         buf.putEnumSetLong(EnumSet.noneOf(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="809" href="#809">809</a>         buf.flip();
<a name="810" href="#810">810</a>         assertEquals(0, buf.getLong());
<a name="811" href="#811">811</a> 
<a name="812" href="#812">812</a>         <em class="jxr_comment">// Test complete set</em>
<a name="813" href="#813">813</a>         buf.clear();
<a name="814" href="#814">814</a>         buf.putEnumSet(EnumSet.range(TestEnum.E1, TestEnum.E8));
<a name="815" href="#815">815</a>         buf.flip();
<a name="816" href="#816">816</a>         assertEquals((byte) -1, buf.get());
<a name="817" href="#817">817</a> 
<a name="818" href="#818">818</a>         buf.clear();
<a name="819" href="#819">819</a>         buf.putEnumSetShort(EnumSet.range(TestEnum.E1, TestEnum.E16));
<a name="820" href="#820">820</a>         buf.flip();
<a name="821" href="#821">821</a>         assertEquals((<strong class="jxr_keyword">short</strong>) -1, buf.getShort());
<a name="822" href="#822">822</a> 
<a name="823" href="#823">823</a>         buf.clear();
<a name="824" href="#824">824</a>         buf.putEnumSetInt(EnumSet.range(TestEnum.E1, TestEnum.E32));
<a name="825" href="#825">825</a>         buf.flip();
<a name="826" href="#826">826</a>         assertEquals(-1, buf.getInt());
<a name="827" href="#827">827</a> 
<a name="828" href="#828">828</a>         buf.clear();
<a name="829" href="#829">829</a>         buf.putEnumSetLong(EnumSet.allOf(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="830" href="#830">830</a>         buf.flip();
<a name="831" href="#831">831</a>         assertEquals(-1L, buf.getLong());
<a name="832" href="#832">832</a> 
<a name="833" href="#833">833</a>         <em class="jxr_comment">// Test high bit set</em>
<a name="834" href="#834">834</a>         buf.clear();
<a name="835" href="#835">835</a>         buf.putEnumSet(EnumSet.of(TestEnum.E8));
<a name="836" href="#836">836</a>         buf.flip();
<a name="837" href="#837">837</a>         assertEquals(Byte.MIN_VALUE, buf.get());
<a name="838" href="#838">838</a> 
<a name="839" href="#839">839</a>         buf.clear();
<a name="840" href="#840">840</a>         buf.putEnumSetShort(EnumSet.of(TestEnum.E16));
<a name="841" href="#841">841</a>         buf.flip();
<a name="842" href="#842">842</a>         assertEquals(Short.MIN_VALUE, buf.getShort());
<a name="843" href="#843">843</a> 
<a name="844" href="#844">844</a>         buf.clear();
<a name="845" href="#845">845</a>         buf.putEnumSetInt(EnumSet.of(TestEnum.E32));
<a name="846" href="#846">846</a>         buf.flip();
<a name="847" href="#847">847</a>         assertEquals(Integer.MIN_VALUE, buf.getInt());
<a name="848" href="#848">848</a> 
<a name="849" href="#849">849</a>         buf.clear();
<a name="850" href="#850">850</a>         buf.putEnumSetLong(EnumSet.of(TestEnum.E64));
<a name="851" href="#851">851</a>         buf.flip();
<a name="852" href="#852">852</a>         assertEquals(Long.MIN_VALUE, buf.getLong());
<a name="853" href="#853">853</a> 
<a name="854" href="#854">854</a>         <em class="jxr_comment">// Test high low bits set</em>
<a name="855" href="#855">855</a>         buf.clear();
<a name="856" href="#856">856</a>         buf.putEnumSet(EnumSet.of(TestEnum.E1, TestEnum.E8));
<a name="857" href="#857">857</a>         buf.flip();
<a name="858" href="#858">858</a>         assertEquals(Byte.MIN_VALUE + 1, buf.get());
<a name="859" href="#859">859</a> 
<a name="860" href="#860">860</a>         buf.clear();
<a name="861" href="#861">861</a>         buf.putEnumSetShort(EnumSet.of(TestEnum.E1, TestEnum.E16));
<a name="862" href="#862">862</a>         buf.flip();
<a name="863" href="#863">863</a>         assertEquals(Short.MIN_VALUE + 1, buf.getShort());
<a name="864" href="#864">864</a> 
<a name="865" href="#865">865</a>         buf.clear();
<a name="866" href="#866">866</a>         buf.putEnumSetInt(EnumSet.of(TestEnum.E1, TestEnum.E32));
<a name="867" href="#867">867</a>         buf.flip();
<a name="868" href="#868">868</a>         assertEquals(Integer.MIN_VALUE + 1, buf.getInt());
<a name="869" href="#869">869</a> 
<a name="870" href="#870">870</a>         buf.clear();
<a name="871" href="#871">871</a>         buf.putEnumSetLong(EnumSet.of(TestEnum.E1, TestEnum.E64));
<a name="872" href="#872">872</a>         buf.flip();
<a name="873" href="#873">873</a>         assertEquals(Long.MIN_VALUE + 1, buf.getLong());
<a name="874" href="#874">874</a>     }
<a name="875" href="#875">875</a> 
<a name="876" href="#876">876</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetEnumSet() {
<a name="877" href="#877">877</a>         IoBuffer buf = IoBuffer.allocate(8);
<a name="878" href="#878">878</a> 
<a name="879" href="#879">879</a>         <em class="jxr_comment">// Test empty set</em>
<a name="880" href="#880">880</a>         buf.put((byte) 0);
<a name="881" href="#881">881</a>         buf.flip();
<a name="882" href="#882">882</a>         assertEquals(EnumSet.noneOf(TestEnum.<strong class="jxr_keyword">class</strong>), buf
<a name="883" href="#883">883</a>                 .getEnumSet(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="884" href="#884">884</a> 
<a name="885" href="#885">885</a>         buf.clear();
<a name="886" href="#886">886</a>         buf.putShort((<strong class="jxr_keyword">short</strong>) 0);
<a name="887" href="#887">887</a>         buf.flip();
<a name="888" href="#888">888</a>         assertEquals(EnumSet.noneOf(TestEnum.<strong class="jxr_keyword">class</strong>), buf
<a name="889" href="#889">889</a>                 .getEnumSet(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="890" href="#890">890</a> 
<a name="891" href="#891">891</a>         buf.clear();
<a name="892" href="#892">892</a>         buf.putInt(0);
<a name="893" href="#893">893</a>         buf.flip();
<a name="894" href="#894">894</a>         assertEquals(EnumSet.noneOf(TestEnum.<strong class="jxr_keyword">class</strong>), buf
<a name="895" href="#895">895</a>                 .getEnumSet(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="896" href="#896">896</a> 
<a name="897" href="#897">897</a>         buf.clear();
<a name="898" href="#898">898</a>         buf.putLong(0L);
<a name="899" href="#899">899</a>         buf.flip();
<a name="900" href="#900">900</a>         assertEquals(EnumSet.noneOf(TestEnum.<strong class="jxr_keyword">class</strong>), buf
<a name="901" href="#901">901</a>                 .getEnumSet(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="902" href="#902">902</a> 
<a name="903" href="#903">903</a>         <em class="jxr_comment">// Test complete set</em>
<a name="904" href="#904">904</a>         buf.clear();
<a name="905" href="#905">905</a>         buf.put((byte) -1);
<a name="906" href="#906">906</a>         buf.flip();
<a name="907" href="#907">907</a>         assertEquals(EnumSet.range(TestEnum.E1, TestEnum.E8), buf
<a name="908" href="#908">908</a>                 .getEnumSet(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="909" href="#909">909</a> 
<a name="910" href="#910">910</a>         buf.clear();
<a name="911" href="#911">911</a>         buf.putShort((<strong class="jxr_keyword">short</strong>) -1);
<a name="912" href="#912">912</a>         buf.flip();
<a name="913" href="#913">913</a>         assertEquals(EnumSet.range(TestEnum.E1, TestEnum.E16), buf
<a name="914" href="#914">914</a>                 .getEnumSetShort(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="915" href="#915">915</a> 
<a name="916" href="#916">916</a>         buf.clear();
<a name="917" href="#917">917</a>         buf.putInt(-1);
<a name="918" href="#918">918</a>         buf.flip();
<a name="919" href="#919">919</a>         assertEquals(EnumSet.range(TestEnum.E1, TestEnum.E32), buf
<a name="920" href="#920">920</a>                 .getEnumSetInt(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="921" href="#921">921</a> 
<a name="922" href="#922">922</a>         buf.clear();
<a name="923" href="#923">923</a>         buf.putLong(-1L);
<a name="924" href="#924">924</a>         buf.flip();
<a name="925" href="#925">925</a>         assertEquals(EnumSet.allOf(TestEnum.<strong class="jxr_keyword">class</strong>), buf
<a name="926" href="#926">926</a>                 .getEnumSetLong(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="927" href="#927">927</a> 
<a name="928" href="#928">928</a>         <em class="jxr_comment">// Test high bit set</em>
<a name="929" href="#929">929</a>         buf.clear();
<a name="930" href="#930">930</a>         buf.put(Byte.MIN_VALUE);
<a name="931" href="#931">931</a>         buf.flip();
<a name="932" href="#932">932</a>         assertEquals(EnumSet.of(TestEnum.E8), buf.getEnumSet(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="933" href="#933">933</a> 
<a name="934" href="#934">934</a>         buf.clear();
<a name="935" href="#935">935</a>         buf.putShort(Short.MIN_VALUE);
<a name="936" href="#936">936</a>         buf.flip();
<a name="937" href="#937">937</a>         assertEquals(EnumSet.of(TestEnum.E16), buf
<a name="938" href="#938">938</a>                 .getEnumSetShort(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="939" href="#939">939</a> 
<a name="940" href="#940">940</a>         buf.clear();
<a name="941" href="#941">941</a>         buf.putInt(Integer.MIN_VALUE);
<a name="942" href="#942">942</a>         buf.flip();
<a name="943" href="#943">943</a>         assertEquals(EnumSet.of(TestEnum.E32), buf
<a name="944" href="#944">944</a>                 .getEnumSetInt(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="945" href="#945">945</a> 
<a name="946" href="#946">946</a>         buf.clear();
<a name="947" href="#947">947</a>         buf.putLong(Long.MIN_VALUE);
<a name="948" href="#948">948</a>         buf.flip();
<a name="949" href="#949">949</a>         assertEquals(EnumSet.of(TestEnum.E64), buf
<a name="950" href="#950">950</a>                 .getEnumSetLong(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="951" href="#951">951</a> 
<a name="952" href="#952">952</a>         <em class="jxr_comment">// Test high low bits set</em>
<a name="953" href="#953">953</a>         buf.clear();
<a name="954" href="#954">954</a>         byte b = Byte.MIN_VALUE + 1;
<a name="955" href="#955">955</a>         buf.put(b);
<a name="956" href="#956">956</a>         buf.flip();
<a name="957" href="#957">957</a>         assertEquals(EnumSet.of(TestEnum.E1, TestEnum.E8), buf
<a name="958" href="#958">958</a>                 .getEnumSet(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="959" href="#959">959</a> 
<a name="960" href="#960">960</a>         buf.clear();
<a name="961" href="#961">961</a>         <strong class="jxr_keyword">short</strong> s = Short.MIN_VALUE + 1;
<a name="962" href="#962">962</a>         buf.putShort(s);
<a name="963" href="#963">963</a>         buf.flip();
<a name="964" href="#964">964</a>         assertEquals(EnumSet.of(TestEnum.E1, TestEnum.E16), buf
<a name="965" href="#965">965</a>                 .getEnumSetShort(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="966" href="#966">966</a> 
<a name="967" href="#967">967</a>         buf.clear();
<a name="968" href="#968">968</a>         buf.putInt(Integer.MIN_VALUE + 1);
<a name="969" href="#969">969</a>         buf.flip();
<a name="970" href="#970">970</a>         assertEquals(EnumSet.of(TestEnum.E1, TestEnum.E32), buf
<a name="971" href="#971">971</a>                 .getEnumSetInt(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="972" href="#972">972</a> 
<a name="973" href="#973">973</a>         buf.clear();
<a name="974" href="#974">974</a>         buf.putLong(Long.MIN_VALUE + 1);
<a name="975" href="#975">975</a>         buf.flip();
<a name="976" href="#976">976</a>         assertEquals(EnumSet.of(TestEnum.E1, TestEnum.E64), buf
<a name="977" href="#977">977</a>                 .getEnumSetLong(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="978" href="#978">978</a>     }
<a name="979" href="#979">979</a> 
<a name="980" href="#980">980</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testBitVectorOverFlow() {
<a name="981" href="#981">981</a>         IoBuffer buf = IoBuffer.allocate(8);
<a name="982" href="#982">982</a>         <strong class="jxr_keyword">try</strong> {
<a name="983" href="#983">983</a>             buf.putEnumSet(EnumSet.of(TestEnum.E9));
<a name="984" href="#984">984</a>             fail(<span class="jxr_string">"Should have thrown IllegalArgumentException"</span>);
<a name="985" href="#985">985</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
<a name="986" href="#986">986</a>             <em class="jxr_comment">// pass</em>
<a name="987" href="#987">987</a>         }
<a name="988" href="#988">988</a> 
<a name="989" href="#989">989</a>         <strong class="jxr_keyword">try</strong> {
<a name="990" href="#990">990</a>             buf.putEnumSetShort(EnumSet.of(TestEnum.E17));
<a name="991" href="#991">991</a>             fail(<span class="jxr_string">"Should have thrown IllegalArgumentException"</span>);
<a name="992" href="#992">992</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
<a name="993" href="#993">993</a>             <em class="jxr_comment">// pass</em>
<a name="994" href="#994">994</a>         }
<a name="995" href="#995">995</a> 
<a name="996" href="#996">996</a>         <strong class="jxr_keyword">try</strong> {
<a name="997" href="#997">997</a>             buf.putEnumSetInt(EnumSet.of(TestEnum.E33));
<a name="998" href="#998">998</a>             fail(<span class="jxr_string">"Should have thrown IllegalArgumentException"</span>);
<a name="999" href="#999">999</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
<a name="1000" href="#1000">1000</a>             <em class="jxr_comment">// pass</em>
<a name="1001" href="#1001">1001</a>         }
<a name="1002" href="#1002">1002</a> 
<a name="1003" href="#1003">1003</a>         <strong class="jxr_keyword">try</strong> {
<a name="1004" href="#1004">1004</a>             buf.putEnumSetLong(EnumSet.of(TooBigEnum.E65));
<a name="1005" href="#1005">1005</a>             fail(<span class="jxr_string">"Should have thrown IllegalArgumentException"</span>);
<a name="1006" href="#1006">1006</a>         } <strong class="jxr_keyword">catch</strong> (IllegalArgumentException e) {
<a name="1007" href="#1007">1007</a>             <em class="jxr_comment">// pass</em>
<a name="1008" href="#1008">1008</a>         }
<a name="1009" href="#1009">1009</a>     }
<a name="1010" href="#1010">1010</a> 
<a name="1011" href="#1011">1011</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetPutEnum() {
<a name="1012" href="#1012">1012</a>         IoBuffer buf = IoBuffer.allocate(4);
<a name="1013" href="#1013">1013</a> 
<a name="1014" href="#1014">1014</a>         buf.putEnum(TestEnum.E64);
<a name="1015" href="#1015">1015</a>         buf.flip();
<a name="1016" href="#1016">1016</a>         assertEquals(TestEnum.E64, buf.getEnum(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="1017" href="#1017">1017</a> 
<a name="1018" href="#1018">1018</a>         buf.clear();
<a name="1019" href="#1019">1019</a>         buf.putEnumShort(TestEnum.E64);
<a name="1020" href="#1020">1020</a>         buf.flip();
<a name="1021" href="#1021">1021</a>         assertEquals(TestEnum.E64, buf.getEnumShort(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="1022" href="#1022">1022</a> 
<a name="1023" href="#1023">1023</a>         buf.clear();
<a name="1024" href="#1024">1024</a>         buf.putEnumInt(TestEnum.E64);
<a name="1025" href="#1025">1025</a>         buf.flip();
<a name="1026" href="#1026">1026</a>         assertEquals(TestEnum.E64, buf.getEnumInt(TestEnum.<strong class="jxr_keyword">class</strong>));
<a name="1027" href="#1027">1027</a>     }
<a name="1028" href="#1028">1028</a> 
<a name="1029" href="#1029">1029</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGetMediumInt() {
<a name="1030" href="#1030">1030</a>         IoBuffer buf = IoBuffer.allocate(3);
<a name="1031" href="#1031">1031</a> 
<a name="1032" href="#1032">1032</a>         buf.put((byte) 0x01);
<a name="1033" href="#1033">1033</a>         buf.put((byte) 0x02);
<a name="1034" href="#1034">1034</a>         buf.put((byte) 0x03);
<a name="1035" href="#1035">1035</a>         assertEquals(3, buf.position());
<a name="1036" href="#1036">1036</a> 
<a name="1037" href="#1037">1037</a>         buf.flip();
<a name="1038" href="#1038">1038</a>         assertEquals(0x010203, buf.getMediumInt());
<a name="1039" href="#1039">1039</a>         assertEquals(0x010203, buf.getMediumInt(0));
<a name="1040" href="#1040">1040</a>         buf.flip();
<a name="1041" href="#1041">1041</a>         assertEquals(0x010203, buf.getUnsignedMediumInt());
<a name="1042" href="#1042">1042</a>         assertEquals(0x010203, buf.getUnsignedMediumInt(0));
<a name="1043" href="#1043">1043</a>         buf.flip();
<a name="1044" href="#1044">1044</a>         assertEquals(0x010203, buf.getUnsignedMediumInt());
<a name="1045" href="#1045">1045</a>         buf.flip().order(ByteOrder.LITTLE_ENDIAN);
<a name="1046" href="#1046">1046</a>         assertEquals(0x030201, buf.getMediumInt());
<a name="1047" href="#1047">1047</a>         assertEquals(0x030201, buf.getMediumInt(0));
<a name="1048" href="#1048">1048</a> 
<a name="1049" href="#1049">1049</a>         <em class="jxr_comment">// Test max medium int</em>
<a name="1050" href="#1050">1050</a>         buf.flip().order(ByteOrder.BIG_ENDIAN);
<a name="1051" href="#1051">1051</a>         buf.put((byte) 0x7f);
<a name="1052" href="#1052">1052</a>         buf.put((byte) 0xff);
<a name="1053" href="#1053">1053</a>         buf.put((byte) 0xff);
<a name="1054" href="#1054">1054</a>         buf.flip();
<a name="1055" href="#1055">1055</a>         assertEquals(0x7fffff, buf.getMediumInt());
<a name="1056" href="#1056">1056</a>         assertEquals(0x7fffff, buf.getMediumInt(0));
<a name="1057" href="#1057">1057</a> 
<a name="1058" href="#1058">1058</a>         <em class="jxr_comment">// Test negative number</em>
<a name="1059" href="#1059">1059</a>         buf.flip().order(ByteOrder.BIG_ENDIAN);
<a name="1060" href="#1060">1060</a>         buf.put((byte) 0xff);
<a name="1061" href="#1061">1061</a>         buf.put((byte) 0x02);
<a name="1062" href="#1062">1062</a>         buf.put((byte) 0x03);
<a name="1063" href="#1063">1063</a>         buf.flip();
<a name="1064" href="#1064">1064</a> 
<a name="1065" href="#1065">1065</a>         assertEquals(0xffff0203, buf.getMediumInt());
<a name="1066" href="#1066">1066</a>         assertEquals(0xffff0203, buf.getMediumInt(0));
<a name="1067" href="#1067">1067</a>         buf.flip();
<a name="1068" href="#1068">1068</a> 
<a name="1069" href="#1069">1069</a>         assertEquals(0x00ff0203, buf.getUnsignedMediumInt());
<a name="1070" href="#1070">1070</a>         assertEquals(0x00ff0203, buf.getUnsignedMediumInt(0));
<a name="1071" href="#1071">1071</a>     }
<a name="1072" href="#1072">1072</a> 
<a name="1073" href="#1073">1073</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testPutMediumInt() {
<a name="1074" href="#1074">1074</a>         IoBuffer buf = IoBuffer.allocate(3);
<a name="1075" href="#1075">1075</a> 
<a name="1076" href="#1076">1076</a>         checkMediumInt(buf, 0);
<a name="1077" href="#1077">1077</a>         checkMediumInt(buf, 1);
<a name="1078" href="#1078">1078</a>         checkMediumInt(buf, -1);
<a name="1079" href="#1079">1079</a>         checkMediumInt(buf, 0x7fffff);
<a name="1080" href="#1080">1080</a>     }
<a name="1081" href="#1081">1081</a> 
<a name="1082" href="#1082">1082</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkMediumInt(IoBuffer buf, <strong class="jxr_keyword">int</strong> x) {
<a name="1083" href="#1083">1083</a>         buf.putMediumInt(x);
<a name="1084" href="#1084">1084</a>         assertEquals(3, buf.position());
<a name="1085" href="#1085">1085</a>         buf.flip();
<a name="1086" href="#1086">1086</a>         assertEquals(x, buf.getMediumInt());
<a name="1087" href="#1087">1087</a>         assertEquals(3, buf.position());
<a name="1088" href="#1088">1088</a> 
<a name="1089" href="#1089">1089</a>         buf.putMediumInt(0, x);
<a name="1090" href="#1090">1090</a>         assertEquals(3, buf.position());
<a name="1091" href="#1091">1091</a>         assertEquals(x, buf.getMediumInt(0));
<a name="1092" href="#1092">1092</a> 
<a name="1093" href="#1093">1093</a>         buf.flip();
<a name="1094" href="#1094">1094</a>     }
<a name="1095" href="#1095">1095</a> 
<a name="1096" href="#1096">1096</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

