<!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>ItemIterableTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../testapidocs/org/apache/chemistry/opencmis/client/runtime/ItemIterableTest.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" 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 class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.chemistry.opencmis.client.runtime;
<a class="jxr_linenumber" name="20" href="#20">20</a>  
<a class="jxr_linenumber" name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertEquals;
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertFalse;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertNotNull;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertTrue;
<a class="jxr_linenumber" name="25" href="#25">25</a>  
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.Iterator;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
<a class="jxr_linenumber" name="31" href="#31">31</a>  
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.client.api.ItemIterable;
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.client.runtime.util.AbstractPageFetcher;
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.client.runtime.util.CollectionIterable;
<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="38" href="#38">38</a>  
<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/chemistry/opencmis/client/runtime/ItemIterableTest.html">ItemIterableTest</a> {
<a class="jxr_linenumber" name="40" href="#40">40</a>  
<a class="jxr_linenumber" name="41" href="#41">41</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOG = LoggerFactory.getLogger(ItemIterableTest.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_comment">//    static {</em>
<a class="jxr_linenumber" name="43" href="#43">43</a>  <em class="jxr_comment">//        Properties p = new Properties();</em>
<a class="jxr_linenumber" name="44" href="#44">44</a>  <em class="jxr_comment">//        try {</em>
<a class="jxr_linenumber" name="45" href="#45">45</a>  <em class="jxr_comment">//            p.load(ItemIterableTest.class.getResourceAsStream("/log4j.properties"));</em>
<a class="jxr_linenumber" name="46" href="#46">46</a>  <em class="jxr_comment">//        } catch (IOException e) {</em>
<a class="jxr_linenumber" name="47" href="#47">47</a>  <em class="jxr_comment">//            throw new RuntimeException(e);</em>
<a class="jxr_linenumber" name="48" href="#48">48</a>  <em class="jxr_comment">//        }</em>
<a class="jxr_linenumber" name="49" href="#49">49</a>  <em class="jxr_comment">//        PropertyConfigurator.configure(p);</em>
<a class="jxr_linenumber" name="50" href="#50">50</a>  <em class="jxr_comment">//</em>
<a class="jxr_linenumber" name="51" href="#51">51</a>  <em class="jxr_comment">//    }</em>
<a class="jxr_linenumber" name="52" href="#52">52</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String[] data10 = { <span class="jxr_string">"A0"</span>, <span class="jxr_string">"A1"</span>, <span class="jxr_string">"A2"</span>, <span class="jxr_string">"A3"</span>, <span class="jxr_string">"A4"</span>, <span class="jxr_string">"A5"</span>, <span class="jxr_string">"A6"</span>, <span class="jxr_string">"A7"</span>, <span class="jxr_string">"A8"</span>, <span class="jxr_string">"A9"</span> };
<a class="jxr_linenumber" name="53" href="#53">53</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String[] data1 = { <span class="jxr_string">"A0"</span> };
<a class="jxr_linenumber" name="54" href="#54">54</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String[] data0 = {};
<a class="jxr_linenumber" name="55" href="#55">55</a>  
<a class="jxr_linenumber" name="56" href="#56">56</a>      <strong class="jxr_keyword">private</strong> ItemIterable&lt;String&gt; getIterable(<strong class="jxr_keyword">final</strong> String[] data, <strong class="jxr_keyword">long</strong> pageSize) {
<a class="jxr_linenumber" name="57" href="#57">57</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> CollectionIterable&lt;String&gt;(<strong class="jxr_keyword">new</strong> AbstractPageFetcher&lt;String&gt;(pageSize) {
<a class="jxr_linenumber" name="58" href="#58">58</a>  
<a class="jxr_linenumber" name="59" href="#59">59</a>              @Override
<a class="jxr_linenumber" name="60" href="#60">60</a>              <strong class="jxr_keyword">protected</strong> Page&lt;String&gt; fetchPage(<strong class="jxr_keyword">long</strong> skipCount) {
<a class="jxr_linenumber" name="61" href="#61">61</a>                  <strong class="jxr_keyword">boolean</strong> hasMoreItems = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="62" href="#62">62</a>                  List&lt;String&gt; page = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;();
<a class="jxr_linenumber" name="63" href="#63">63</a>  
<a class="jxr_linenumber" name="64" href="#64">64</a>                  ItemIterableTest.LOG.info(<span class="jxr_string">"("</span> + skipCount + <span class="jxr_string">"|"</span> + <strong class="jxr_keyword">this</strong>.maxNumItems + <span class="jxr_string">") "</span>);
<a class="jxr_linenumber" name="65" href="#65">65</a>  
<a class="jxr_linenumber" name="66" href="#66">66</a>                  <strong class="jxr_keyword">int</strong> from = (<strong class="jxr_keyword">int</strong>) skipCount;
<a class="jxr_linenumber" name="67" href="#67">67</a>                  <strong class="jxr_keyword">int</strong> to = (<strong class="jxr_keyword">int</strong>) (skipCount + <strong class="jxr_keyword">this</strong>.maxNumItems);
<a class="jxr_linenumber" name="68" href="#68">68</a>  
<a class="jxr_linenumber" name="69" href="#69">69</a>                  <strong class="jxr_keyword">if</strong> (to &gt;= data.length) {
<a class="jxr_linenumber" name="70" href="#70">70</a>                      to = data.length;
<a class="jxr_linenumber" name="71" href="#71">71</a>                      hasMoreItems = false;
<a class="jxr_linenumber" name="72" href="#72">72</a>                  }
<a class="jxr_linenumber" name="73" href="#73">73</a>  
<a class="jxr_linenumber" name="74" href="#74">74</a>                  <em class="jxr_comment">// . simulate rolling total number of items (for repositories</em>
<a class="jxr_linenumber" name="75" href="#75">75</a>                  <em class="jxr_comment">// that don't necessarily know up front)</em>
<a class="jxr_linenumber" name="76" href="#76">76</a>                  <strong class="jxr_keyword">int</strong> totalItems = (to == data.length) ? to : to + 1;
<a class="jxr_linenumber" name="77" href="#77">77</a>  
<a class="jxr_linenumber" name="78" href="#78">78</a>                  <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = from; i &lt; to; i++) {
<a class="jxr_linenumber" name="79" href="#79">79</a>                      page.add(data[i]);
<a class="jxr_linenumber" name="80" href="#80">80</a>                  }
<a class="jxr_linenumber" name="81" href="#81">81</a>  
<a class="jxr_linenumber" name="82" href="#82">82</a>                  Page&lt;String&gt; result = <strong class="jxr_keyword">new</strong> AbstractPageFetcher.Page&lt;String&gt;(page, totalItems, hasMoreItems);
<a class="jxr_linenumber" name="83" href="#83">83</a>  
<a class="jxr_linenumber" name="84" href="#84">84</a>                  <strong class="jxr_keyword">return</strong> result;
<a class="jxr_linenumber" name="85" href="#85">85</a>              }
<a class="jxr_linenumber" name="86" href="#86">86</a>          });
<a class="jxr_linenumber" name="87" href="#87">87</a>      }
<a class="jxr_linenumber" name="88" href="#88">88</a>  
<a class="jxr_linenumber" name="89" href="#89">89</a>      @Test
<a class="jxr_linenumber" name="90" href="#90">90</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> loopAll() {
<a class="jxr_linenumber" name="91" href="#91">91</a>          <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data10, 100); <em class="jxr_comment">// tolerate out of bound</em>
<a class="jxr_linenumber" name="92" href="#92">92</a>          <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data10, 10);
<a class="jxr_linenumber" name="93" href="#93">93</a>          <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data10, 9);
<a class="jxr_linenumber" name="94" href="#94">94</a>          <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data10, 8);
<a class="jxr_linenumber" name="95" href="#95">95</a>  
<a class="jxr_linenumber" name="96" href="#96">96</a>          <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data10, 2);
<a class="jxr_linenumber" name="97" href="#97">97</a>          <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data10, 1);
<a class="jxr_linenumber" name="98" href="#98">98</a>          <em class="jxr_comment">// this.loopAll(0); maxNumItems must be &gt; 0</em>
<a class="jxr_linenumber" name="99" href="#99">99</a>  
<a class="jxr_linenumber" name="100" href="#100">100</a>         <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data1, 1);
<a class="jxr_linenumber" name="101" href="#101">101</a>         <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data1, 5);
<a class="jxr_linenumber" name="102" href="#102">102</a> 
<a class="jxr_linenumber" name="103" href="#103">103</a>         <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data0, 1);
<a class="jxr_linenumber" name="104" href="#104">104</a>         <strong class="jxr_keyword">this</strong>.loopAll(<strong class="jxr_keyword">this</strong>.data0, 5);
<a class="jxr_linenumber" name="105" href="#105">105</a>     }
<a class="jxr_linenumber" name="106" href="#106">106</a> 
<a class="jxr_linenumber" name="107" href="#107">107</a>     @Test
<a class="jxr_linenumber" name="108" href="#108">108</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> loopSubPage() {
<a class="jxr_linenumber" name="109" href="#109">109</a>         <strong class="jxr_keyword">this</strong>.loopSubPage(<strong class="jxr_keyword">this</strong>.data10, 0, 3, 5);
<a class="jxr_linenumber" name="110" href="#110">110</a>         <strong class="jxr_keyword">this</strong>.loopSubPage(<strong class="jxr_keyword">this</strong>.data10, 2, 3, 5);
<a class="jxr_linenumber" name="111" href="#111">111</a>         <strong class="jxr_keyword">this</strong>.loopSubPage(<strong class="jxr_keyword">this</strong>.data10, 9, 3, 5);
<a class="jxr_linenumber" name="112" href="#112">112</a>         <strong class="jxr_keyword">this</strong>.loopSubPage(<strong class="jxr_keyword">this</strong>.data10, 10, 3, 5);
<a class="jxr_linenumber" name="113" href="#113">113</a> 
<a class="jxr_linenumber" name="114" href="#114">114</a>         <strong class="jxr_keyword">this</strong>.loopSubPage(<strong class="jxr_keyword">this</strong>.data10, 2, 3, 3);
<a class="jxr_linenumber" name="115" href="#115">115</a>         <strong class="jxr_keyword">this</strong>.loopSubPage(<strong class="jxr_keyword">this</strong>.data10, 2, 1000, 1000);
<a class="jxr_linenumber" name="116" href="#116">116</a>     }
<a class="jxr_linenumber" name="117" href="#117">117</a> 
<a class="jxr_linenumber" name="118" href="#118">118</a>     @Test
<a class="jxr_linenumber" name="119" href="#119">119</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> loopSkip() {
<a class="jxr_linenumber" name="120" href="#120">120</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 0, 5);
<a class="jxr_linenumber" name="121" href="#121">121</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 1, 5);
<a class="jxr_linenumber" name="122" href="#122">122</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 2, 5);
<a class="jxr_linenumber" name="123" href="#123">123</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 3, 5);
<a class="jxr_linenumber" name="124" href="#124">124</a> 
<a class="jxr_linenumber" name="125" href="#125">125</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 8, 5);
<a class="jxr_linenumber" name="126" href="#126">126</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 9, 5);
<a class="jxr_linenumber" name="127" href="#127">127</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 10, 5);
<a class="jxr_linenumber" name="128" href="#128">128</a>         <em class="jxr_comment">// this.loopSkip(100, 5); skip out of bound</em>
<a class="jxr_linenumber" name="129" href="#129">129</a> 
<a class="jxr_linenumber" name="130" href="#130">130</a>         <em class="jxr_comment">// this.loopSkip(0, 0);</em>
<a class="jxr_linenumber" name="131" href="#131">131</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 0, 1);
<a class="jxr_linenumber" name="132" href="#132">132</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 0, 10);
<a class="jxr_linenumber" name="133" href="#133">133</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 0, 100);
<a class="jxr_linenumber" name="134" href="#134">134</a> 
<a class="jxr_linenumber" name="135" href="#135">135</a>         <em class="jxr_comment">// this.loopSkip(0, 0);</em>
<a class="jxr_linenumber" name="136" href="#136">136</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 10, 1);
<a class="jxr_linenumber" name="137" href="#137">137</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 10, 10);
<a class="jxr_linenumber" name="138" href="#138">138</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data10, 10, 100);
<a class="jxr_linenumber" name="139" href="#139">139</a> 
<a class="jxr_linenumber" name="140" href="#140">140</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data1, 0, 5);
<a class="jxr_linenumber" name="141" href="#141">141</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data1, 1, 5);
<a class="jxr_linenumber" name="142" href="#142">142</a> 
<a class="jxr_linenumber" name="143" href="#143">143</a>         <strong class="jxr_keyword">this</strong>.loopSkip(<strong class="jxr_keyword">this</strong>.data0, 0, 5);
<a class="jxr_linenumber" name="144" href="#144">144</a>     }
<a class="jxr_linenumber" name="145" href="#145">145</a> 
<a class="jxr_linenumber" name="146" href="#146">146</a>     @Test
<a class="jxr_linenumber" name="147" href="#147">147</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> loopPage() {
<a class="jxr_linenumber" name="148" href="#148">148</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 0, 5);
<a class="jxr_linenumber" name="149" href="#149">149</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 1, 5);
<a class="jxr_linenumber" name="150" href="#150">150</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 2, 5);
<a class="jxr_linenumber" name="151" href="#151">151</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 3, 5);
<a class="jxr_linenumber" name="152" href="#152">152</a> 
<a class="jxr_linenumber" name="153" href="#153">153</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 8, 5);
<a class="jxr_linenumber" name="154" href="#154">154</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 9, 5);
<a class="jxr_linenumber" name="155" href="#155">155</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 10, 5);
<a class="jxr_linenumber" name="156" href="#156">156</a>         <em class="jxr_comment">// this.loopPage(100, 5); skip out of bound</em>
<a class="jxr_linenumber" name="157" href="#157">157</a> 
<a class="jxr_linenumber" name="158" href="#158">158</a>         <em class="jxr_comment">// this.loopPage(0, 0);</em>
<a class="jxr_linenumber" name="159" href="#159">159</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 0, 1);
<a class="jxr_linenumber" name="160" href="#160">160</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 0, 10);
<a class="jxr_linenumber" name="161" href="#161">161</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 0, 100);
<a class="jxr_linenumber" name="162" href="#162">162</a> 
<a class="jxr_linenumber" name="163" href="#163">163</a>         <em class="jxr_comment">// this.loopPage(0, 0);</em>
<a class="jxr_linenumber" name="164" href="#164">164</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 10, 1);
<a class="jxr_linenumber" name="165" href="#165">165</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 10, 10);
<a class="jxr_linenumber" name="166" href="#166">166</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data10, 10, 100);
<a class="jxr_linenumber" name="167" href="#167">167</a> 
<a class="jxr_linenumber" name="168" href="#168">168</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data1, 0, 5);
<a class="jxr_linenumber" name="169" href="#169">169</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data1, 1, 5);
<a class="jxr_linenumber" name="170" href="#170">170</a> 
<a class="jxr_linenumber" name="171" href="#171">171</a>         <strong class="jxr_keyword">this</strong>.loopPage(<strong class="jxr_keyword">this</strong>.data0, 0, 5);
<a class="jxr_linenumber" name="172" href="#172">172</a>     }
<a class="jxr_linenumber" name="173" href="#173">173</a> 
<a class="jxr_linenumber" name="174" href="#174">174</a>     @Test
<a class="jxr_linenumber" name="175" href="#175">175</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> totalNumItems() {
<a class="jxr_linenumber" name="176" href="#176">176</a>         ItemIterableTest.LOG.info(<span class="jxr_string">"totalNumItems"</span>);
<a class="jxr_linenumber" name="177" href="#177">177</a> 
<a class="jxr_linenumber" name="178" href="#178">178</a>         <strong class="jxr_keyword">int</strong> pageSize = 5;
<a class="jxr_linenumber" name="179" href="#179">179</a>         ItemIterable&lt;String&gt; p = <strong class="jxr_keyword">this</strong>.getIterable(<strong class="jxr_keyword">this</strong>.data10, pageSize);
<a class="jxr_linenumber" name="180" href="#180">180</a>         assertNotNull(p);
<a class="jxr_linenumber" name="181" href="#181">181</a>         Iterator&lt;String&gt; i = p.iterator();
<a class="jxr_linenumber" name="182" href="#182">182</a>         assertNotNull(i);
<a class="jxr_linenumber" name="183" href="#183">183</a>         assertEquals(pageSize + 1, p.getTotalNumItems());
<a class="jxr_linenumber" name="184" href="#184">184</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> idx = 0; i.hasNext() &amp;&amp; idx &lt; (pageSize + 1); idx++) {
<a class="jxr_linenumber" name="185" href="#185">185</a>             assertNotNull(i.next());
<a class="jxr_linenumber" name="186" href="#186">186</a>         }
<a class="jxr_linenumber" name="187" href="#187">187</a>         assertEquals(<strong class="jxr_keyword">this</strong>.data10.length, p.getTotalNumItems());
<a class="jxr_linenumber" name="188" href="#188">188</a>     }
<a class="jxr_linenumber" name="189" href="#189">189</a> 
<a class="jxr_linenumber" name="190" href="#190">190</a>     @Test
<a class="jxr_linenumber" name="191" href="#191">191</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> hasMoreItems() {
<a class="jxr_linenumber" name="192" href="#192">192</a>         ItemIterableTest.LOG.info(<span class="jxr_string">"totalHasMoreItems"</span>);
<a class="jxr_linenumber" name="193" href="#193">193</a> 
<a class="jxr_linenumber" name="194" href="#194">194</a>         <strong class="jxr_keyword">int</strong> pageSize = 5;
<a class="jxr_linenumber" name="195" href="#195">195</a>         ItemIterable&lt;String&gt; p = <strong class="jxr_keyword">this</strong>.getIterable(<strong class="jxr_keyword">this</strong>.data10, pageSize);
<a class="jxr_linenumber" name="196" href="#196">196</a>         assertNotNull(p);
<a class="jxr_linenumber" name="197" href="#197">197</a>         Iterator&lt;String&gt; i = p.iterator();
<a class="jxr_linenumber" name="198" href="#198">198</a>         assertNotNull(i);
<a class="jxr_linenumber" name="199" href="#199">199</a>         assertTrue(p.getHasMoreItems());
<a class="jxr_linenumber" name="200" href="#200">200</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> idx = 0; i.hasNext() &amp;&amp; idx &lt; (pageSize + 1); idx++) {
<a class="jxr_linenumber" name="201" href="#201">201</a>             i.next();
<a class="jxr_linenumber" name="202" href="#202">202</a>         }
<a class="jxr_linenumber" name="203" href="#203">203</a>         assertFalse(p.getHasMoreItems());
<a class="jxr_linenumber" name="204" href="#204">204</a>     }
<a class="jxr_linenumber" name="205" href="#205">205</a> 
<a class="jxr_linenumber" name="206" href="#206">206</a>     @Test
<a class="jxr_linenumber" name="207" href="#207">207</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> pageNumItems() {
<a class="jxr_linenumber" name="208" href="#208">208</a>         ItemIterableTest.LOG.info(<span class="jxr_string">"totalPageNumItems"</span>);
<a class="jxr_linenumber" name="209" href="#209">209</a> 
<a class="jxr_linenumber" name="210" href="#210">210</a>         <strong class="jxr_keyword">int</strong> pageSize = 7;
<a class="jxr_linenumber" name="211" href="#211">211</a>         ItemIterable&lt;String&gt; p = <strong class="jxr_keyword">this</strong>.getIterable(<strong class="jxr_keyword">this</strong>.data10, pageSize);
<a class="jxr_linenumber" name="212" href="#212">212</a>         assertNotNull(p);
<a class="jxr_linenumber" name="213" href="#213">213</a>         Iterator&lt;String&gt; i = p.iterator();
<a class="jxr_linenumber" name="214" href="#214">214</a>         assertNotNull(i);
<a class="jxr_linenumber" name="215" href="#215">215</a>         assertEquals(pageSize, p.getPageNumItems());
<a class="jxr_linenumber" name="216" href="#216">216</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> idx = 0; i.hasNext() &amp;&amp; idx &lt; (pageSize + 1); idx++) {
<a class="jxr_linenumber" name="217" href="#217">217</a>             assertNotNull(i.next());
<a class="jxr_linenumber" name="218" href="#218">218</a>         }
<a class="jxr_linenumber" name="219" href="#219">219</a>         assertEquals(<strong class="jxr_keyword">this</strong>.data10.length - pageSize, p.getPageNumItems());
<a class="jxr_linenumber" name="220" href="#220">220</a>     }
<a class="jxr_linenumber" name="221" href="#221">221</a> 
<a class="jxr_linenumber" name="222" href="#222">222</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> loopSubPage(String[] data, <strong class="jxr_keyword">int</strong> skipCount, <strong class="jxr_keyword">int</strong> maxItems, <strong class="jxr_keyword">int</strong> pageSize) {
<a class="jxr_linenumber" name="223" href="#223">223</a>         ItemIterableTest.LOG.info(<span class="jxr_string">"loopSubPage ("</span> + skipCount + <span class="jxr_string">", "</span> + maxItems + <span class="jxr_string">", "</span> + pageSize + <span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="224" href="#224">224</a>         String msg = <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="225" href="#225">225</a> 
<a class="jxr_linenumber" name="226" href="#226">226</a>         ItemIterable&lt;String&gt; p = <strong class="jxr_keyword">this</strong>.getIterable(data, pageSize);
<a class="jxr_linenumber" name="227" href="#227">227</a>         assertNotNull(p);
<a class="jxr_linenumber" name="228" href="#228">228</a>         ItemIterable&lt;String&gt; pp = p.skipTo(skipCount);
<a class="jxr_linenumber" name="229" href="#229">229</a>         assertNotNull(pp);
<a class="jxr_linenumber" name="230" href="#230">230</a>         ItemIterable&lt;String&gt; ppp = pp.getPage(maxItems);
<a class="jxr_linenumber" name="231" href="#231">231</a>         assertNotNull(ppp);
<a class="jxr_linenumber" name="232" href="#232">232</a> 
<a class="jxr_linenumber" name="233" href="#233">233</a>         <strong class="jxr_keyword">int</strong> count = 0;
<a class="jxr_linenumber" name="234" href="#234">234</a>         <strong class="jxr_keyword">for</strong> (String s : ppp) {
<a class="jxr_linenumber" name="235" href="#235">235</a>             assertNotNull(s);
<a class="jxr_linenumber" name="236" href="#236">236</a>             assertEquals(<span class="jxr_string">"A"</span> + (count + skipCount), s);
<a class="jxr_linenumber" name="237" href="#237">237</a>             msg += (s + <span class="jxr_string">" "</span>);
<a class="jxr_linenumber" name="238" href="#238">238</a>             count++;
<a class="jxr_linenumber" name="239" href="#239">239</a>         }
<a class="jxr_linenumber" name="240" href="#240">240</a>         ItemIterableTest.LOG.info(msg);
<a class="jxr_linenumber" name="241" href="#241">241</a>         assertTrue(count &lt;= pageSize);
<a class="jxr_linenumber" name="242" href="#242">242</a>     }
<a class="jxr_linenumber" name="243" href="#243">243</a> 
<a class="jxr_linenumber" name="244" href="#244">244</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> loopSkip(String[] data, <strong class="jxr_keyword">int</strong> skipCount, <strong class="jxr_keyword">int</strong> pageSize) {
<a class="jxr_linenumber" name="245" href="#245">245</a>         ItemIterableTest.LOG.info(<span class="jxr_string">"loopSkip ("</span> + skipCount + <span class="jxr_string">", "</span> + pageSize + <span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="246" href="#246">246</a>         String msg = <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="247" href="#247">247</a> 
<a class="jxr_linenumber" name="248" href="#248">248</a>         ItemIterable&lt;String&gt; p = <strong class="jxr_keyword">this</strong>.getIterable(data, pageSize);
<a class="jxr_linenumber" name="249" href="#249">249</a>         assertNotNull(p);
<a class="jxr_linenumber" name="250" href="#250">250</a>         ItemIterable&lt;String&gt; pp = p.skipTo(skipCount);
<a class="jxr_linenumber" name="251" href="#251">251</a>         assertNotNull(pp);
<a class="jxr_linenumber" name="252" href="#252">252</a> 
<a class="jxr_linenumber" name="253" href="#253">253</a>         <strong class="jxr_keyword">int</strong> count = 0;
<a class="jxr_linenumber" name="254" href="#254">254</a>         <strong class="jxr_keyword">for</strong> (String s : pp) {
<a class="jxr_linenumber" name="255" href="#255">255</a>             assertNotNull(s);
<a class="jxr_linenumber" name="256" href="#256">256</a>             assertEquals(<span class="jxr_string">"A"</span> + (count + skipCount), s);
<a class="jxr_linenumber" name="257" href="#257">257</a>             msg += (s + <span class="jxr_string">" "</span>);
<a class="jxr_linenumber" name="258" href="#258">258</a>             count++;
<a class="jxr_linenumber" name="259" href="#259">259</a>         }
<a class="jxr_linenumber" name="260" href="#260">260</a>         ItemIterableTest.LOG.info(msg);
<a class="jxr_linenumber" name="261" href="#261">261</a>         assertEquals(data.length - skipCount, count);
<a class="jxr_linenumber" name="262" href="#262">262</a>     }
<a class="jxr_linenumber" name="263" href="#263">263</a> 
<a class="jxr_linenumber" name="264" href="#264">264</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> loopAll(String[] data, <strong class="jxr_keyword">int</strong> pageSize) {
<a class="jxr_linenumber" name="265" href="#265">265</a>         ItemIterableTest.LOG.info(<span class="jxr_string">"loopAll ("</span> + pageSize + <span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="266" href="#266">266</a>         String msg = <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="267" href="#267">267</a> 
<a class="jxr_linenumber" name="268" href="#268">268</a>         ItemIterable&lt;String&gt; p = <strong class="jxr_keyword">this</strong>.getIterable(data, pageSize);
<a class="jxr_linenumber" name="269" href="#269">269</a>         assertNotNull(p);
<a class="jxr_linenumber" name="270" href="#270">270</a> 
<a class="jxr_linenumber" name="271" href="#271">271</a>         <strong class="jxr_keyword">int</strong> count = 0;
<a class="jxr_linenumber" name="272" href="#272">272</a>         <strong class="jxr_keyword">for</strong> (String s : p) {
<a class="jxr_linenumber" name="273" href="#273">273</a>             assertNotNull(s);
<a class="jxr_linenumber" name="274" href="#274">274</a>             assertEquals(<span class="jxr_string">"A"</span> + count, s);
<a class="jxr_linenumber" name="275" href="#275">275</a>             msg += (s + <span class="jxr_string">" "</span>);
<a class="jxr_linenumber" name="276" href="#276">276</a>             count++;
<a class="jxr_linenumber" name="277" href="#277">277</a>         }
<a class="jxr_linenumber" name="278" href="#278">278</a>         ItemIterableTest.LOG.info(msg);
<a class="jxr_linenumber" name="279" href="#279">279</a>         assertEquals(data.length, count);
<a class="jxr_linenumber" name="280" href="#280">280</a>     }
<a class="jxr_linenumber" name="281" href="#281">281</a> 
<a class="jxr_linenumber" name="282" href="#282">282</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> loopPage(String[] data, <strong class="jxr_keyword">int</strong> skipCount, <strong class="jxr_keyword">int</strong> pageSize) {
<a class="jxr_linenumber" name="283" href="#283">283</a>         ItemIterableTest.LOG.info(<span class="jxr_string">"loopPage ("</span> + skipCount + <span class="jxr_string">", "</span> + pageSize + <span class="jxr_string">")"</span>);
<a class="jxr_linenumber" name="284" href="#284">284</a>         String msg = <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="285" href="#285">285</a> 
<a class="jxr_linenumber" name="286" href="#286">286</a>         ItemIterable&lt;String&gt; p = <strong class="jxr_keyword">this</strong>.getIterable(data, pageSize);
<a class="jxr_linenumber" name="287" href="#287">287</a>         assertNotNull(p);
<a class="jxr_linenumber" name="288" href="#288">288</a>         ItemIterable&lt;String&gt; pp = p.skipTo(skipCount).getPage();
<a class="jxr_linenumber" name="289" href="#289">289</a>         assertNotNull(pp);
<a class="jxr_linenumber" name="290" href="#290">290</a> 
<a class="jxr_linenumber" name="291" href="#291">291</a>         <strong class="jxr_keyword">int</strong> count = 0;
<a class="jxr_linenumber" name="292" href="#292">292</a>         <strong class="jxr_keyword">for</strong> (String s : pp) {
<a class="jxr_linenumber" name="293" href="#293">293</a>             assertNotNull(s);
<a class="jxr_linenumber" name="294" href="#294">294</a>             assertEquals(<span class="jxr_string">"A"</span> + (count + skipCount), s);
<a class="jxr_linenumber" name="295" href="#295">295</a>             msg += (s + <span class="jxr_string">" "</span>);
<a class="jxr_linenumber" name="296" href="#296">296</a>             count++;
<a class="jxr_linenumber" name="297" href="#297">297</a>         }
<a class="jxr_linenumber" name="298" href="#298">298</a>         ItemIterableTest.LOG.info(msg);
<a class="jxr_linenumber" name="299" href="#299">299</a>         assertEquals(Math.min(data.length - skipCount, pageSize), count);
<a class="jxr_linenumber" name="300" href="#300">300</a>     }
<a class="jxr_linenumber" name="301" href="#301">301</a> 
<a class="jxr_linenumber" name="302" href="#302">302</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

