<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>LoremIpsumTest 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>  <strong class="jxr_keyword">package</strong> org.apache.chemistry.opencmis.util.content.loremipsum;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertArrayEquals;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertEquals;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertFalse;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertTrue;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.fail;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.io.FileOutputStream;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.io.InputStreamReader;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.io.OutputStreamWriter;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.io.Reader;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.io.StringWriter;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.io.Writer;
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.util.content.loremipsum.LoremIpsum;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.Log;
<a name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.LogFactory;
<a name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.junit.After;
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
<a name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../../org/apache/chemistry/opencmis/util/content/loremipsum/LoremIpsumTest.html">LoremIpsumTest</a> {
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Log LOG = LogFactory.getLog(LoremIpsumTest.<strong class="jxr_keyword">class</strong>);
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</a>      String sample = <span class="jxr_string">"One two three four five six. Seven eight nine ten eleven twelve. "</span>
<a name="48" href="#48">48</a>  		+ <span class="jxr_string">"\n\n"</span>
<a name="49" href="#49">49</a>  		+ <span class="jxr_string">"Thirteen fourteen fifteen sixteen. Seventeen eighteen nineteen twenty."</span>;
<a name="50" href="#50">50</a>         
<a name="51" href="#51">51</a>      String dictionary = <span class="jxr_string">"a bb ccc dddd eeeee ffffff ggggggg hhhhhhhh iiiiiiiii jjjjjjjjjj kkkkkkkkkkk llllllllllll"</span>;
<a name="52" href="#52">52</a>      LoremIpsum generator = <strong class="jxr_keyword">new</strong> LoremIpsum(sample, dictionary);
<a name="53" href="#53">53</a>      
<a name="54" href="#54">54</a>  	@Before
<a name="55" href="#55">55</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception {
<a name="56" href="#56">56</a>  	    dictionary.split(<span class="jxr_string">" "</span>);
<a name="57" href="#57">57</a>  	}
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>  	@After
<a name="60" href="#60">60</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() <strong class="jxr_keyword">throws</strong> Exception {
<a name="61" href="#61">61</a>  	}
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>  	@Test
<a name="64" href="#64">64</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>  test_mean() {
<a name="65" href="#65">65</a>  		<strong class="jxr_keyword">int</strong>[] ia1 = {1, 2, 3, 4};
<a name="66" href="#66">66</a>          assertEquals(2.5d, LoremIpsum.mean(ia1), 0.01d);
<a name="67" href="#67">67</a>          <strong class="jxr_keyword">int</strong>[] ia2 = {6, 6, 4, 4};
<a name="68" href="#68">68</a>          assertEquals(5.0d, LoremIpsum.mean(ia2), 0.01d);
<a name="69" href="#69">69</a>  	}
<a name="70" href="#70">70</a>  	
<a name="71" href="#71">71</a>      @Test
<a name="72" href="#72">72</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>  test_mean_empty() {
<a name="73" href="#73">73</a>  		<strong class="jxr_keyword">int</strong>[] ia1 = {};
<a name="74" href="#74">74</a>          assertEquals(0.0d, LoremIpsum.mean(ia1), 0.01d);
<a name="75" href="#75">75</a>      }
<a name="76" href="#76">76</a>      
<a name="77" href="#77">77</a>      @Test
<a name="78" href="#78">78</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>  test_variance() {
<a name="79" href="#79">79</a>  		<strong class="jxr_keyword">double</strong>[] ia1 = {6.0d, 6.0d, 4.0d, 4.0d};
<a name="80" href="#80">80</a>          assertEquals(1.0d, LoremIpsum.variance(ia1), 0.01d);
<a name="81" href="#81">81</a>          <strong class="jxr_keyword">double</strong>[] ia2 = {1.0d, 2.0d, 3.0d, 4.0d};
<a name="82" href="#82">82</a>          assertEquals(1.25d, LoremIpsum.variance(ia2), 0.01d);
<a name="83" href="#83">83</a>      }
<a name="84" href="#84">84</a>      
<a name="85" href="#85">85</a>      @Test
<a name="86" href="#86">86</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>  test_sigma() {
<a name="87" href="#87">87</a>  		<strong class="jxr_keyword">double</strong>[] ia1 = {6.0d, 6.0d, 4.0d, 4.0d};
<a name="88" href="#88">88</a>          <strong class="jxr_keyword">double</strong>[] ia2 = {1.0d, 2.0d, 3.0d, 4.0d};
<a name="89" href="#89">89</a>          assertEquals(1.0d, LoremIpsum.sigma(ia1), 0.01d);
<a name="90" href="#90">90</a>          assertEquals(Math.sqrt(1.25), LoremIpsum.sigma(ia2), 0.01d);
<a name="91" href="#91">91</a>      }
<a name="92" href="#92">92</a>      
<a name="93" href="#93">93</a>      @Test
<a name="94" href="#94">94</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong>  test_sigma_empty() {
<a name="95" href="#95">95</a>  		<strong class="jxr_keyword">int</strong>[] ia1 = {};
<a name="96" href="#96">96</a>          assertEquals(0.0d, LoremIpsum.sigma(ia1), 0.01d);
<a name="97" href="#97">97</a>      }
<a name="98" href="#98">98</a>      
<a name="99" href="#99">99</a>      @Test
<a name="100" href="#100">100</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_split_sentences() {
<a name="101" href="#101">101</a>     	String[] sentences1 = {<span class="jxr_string">"Hello"</span>, <span class="jxr_string">"Hi"</span>};
<a name="102" href="#102">102</a>     	assertArrayEquals (sentences1, LoremIpsum.splitSentences(<span class="jxr_string">"Hello. Hi."</span>));
<a name="103" href="#103">103</a>         String[] sentences2 = {<span class="jxr_string">"One two three four five six"</span>, 
<a name="104" href="#104">104</a>                                  <span class="jxr_string">"Seven eight nine ten eleven twelve"</span>, 
<a name="105" href="#105">105</a>                                  <span class="jxr_string">"Thirteen fourteen fifteen sixteen"</span>, 
<a name="106" href="#106">106</a>                                  <span class="jxr_string">"Seventeen eighteen nineteen twenty"</span>}; 
<a name="107" href="#107">107</a>         assertArrayEquals(sentences2, LoremIpsum.splitSentences(sample));
<a name="108" href="#108">108</a>     }
<a name="109" href="#109">109</a>     
<a name="110" href="#110">110</a>     @Test
<a name="111" href="#111">111</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_split_sentences_empty() {
<a name="112" href="#112">112</a>     	String[] sentences = {};
<a name="113" href="#113">113</a>     	assertArrayEquals(sentences, LoremIpsum.splitSentences(<span class="jxr_string">""</span>));
<a name="114" href="#114">114</a>     }
<a name="115" href="#115">115</a>     
<a name="116" href="#116">116</a>     @Test
<a name="117" href="#117">117</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_split_sentences_trailing() {
<a name="118" href="#118">118</a>     	String[] sentences1 = {<span class="jxr_string">"Hello"</span>, <span class="jxr_string">"Hi"</span>, <span class="jxr_string">"Hello"</span>};    	
<a name="119" href="#119">119</a>     	assertArrayEquals(sentences1, LoremIpsum.splitSentences(<span class="jxr_string">"Hello. Hi. Hello"</span>));
<a name="120" href="#120">120</a>     	String[] sentences2 = {<span class="jxr_string">"Hello"</span>, <span class="jxr_string">"Hi"</span>, <span class="jxr_string">"Hello"</span>};
<a name="121" href="#121">121</a>     	assertArrayEquals(sentences2, LoremIpsum.splitSentences(<span class="jxr_string">"  Hello. Hi. Hello  "</span>));
<a name="122" href="#122">122</a>         String[] sentences3 = {<span class="jxr_string">"Hello"</span>, <span class="jxr_string">"Hi"</span>, <span class="jxr_string">"Hello"</span>};
<a name="123" href="#123">123</a>         assertArrayEquals(sentences3, LoremIpsum.splitSentences(<span class="jxr_string">"..  Hello... Hi.... Hello  "</span>)); 
<a name="124" href="#124">124</a>     }
<a name="125" href="#125">125</a> 
<a name="126" href="#126">126</a>     @Test
<a name="127" href="#127">127</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_split_paragraphs() {
<a name="128" href="#128">128</a>     	String[] paragraphs = {<span class="jxr_string">"One two three four five six. Seven eight nine ten eleven twelve."</span>,
<a name="129" href="#129">129</a>     			<span class="jxr_string">"Thirteen fourteen fifteen sixteen. Seventeen eighteen nineteen twenty."</span>};
<a name="130" href="#130">130</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(sample));
<a name="131" href="#131">131</a>     }
<a name="132" href="#132">132</a>     
<a name="133" href="#133">133</a>     @Test
<a name="134" href="#134">134</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_split_paragraphs_empty() {
<a name="135" href="#135">135</a>     	String[] paragraphs = {};
<a name="136" href="#136">136</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">""</span>));
<a name="137" href="#137">137</a>     }
<a name="138" href="#138">138</a>     
<a name="139" href="#139">139</a>     @Test
<a name="140" href="#140">140</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_split_paragraphs_trailing() {
<a name="141" href="#141">141</a>     	String[] paragraphs = {<span class="jxr_string">"Hello"</span>, <span class="jxr_string">"Hi"</span>};
<a name="142" href="#142">142</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">"Hello\n\nHi"</span>));
<a name="143" href="#143">143</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">"Hello\n\nHi\n"</span>));
<a name="144" href="#144">144</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">"Hello\n\nHi\n\n"</span>));
<a name="145" href="#145">145</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">"Hello\n\nHi\n\n\n"</span>));
<a name="146" href="#146">146</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">"Hello\n\nHi\n\n\n\n\n\n"</span>));
<a name="147" href="#147">147</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">"\nHello\n\nHi"</span>));
<a name="148" href="#148">148</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">"\n\nHello\n\nHi"</span>));
<a name="149" href="#149">149</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">"\n\n\nHello\n\nHi"</span>));
<a name="150" href="#150">150</a>     	assertArrayEquals(paragraphs, LoremIpsum.splitParagraphs(<span class="jxr_string">"\n\n\n\n\n\nHello\n\nHi"</span>));
<a name="151" href="#151">151</a>     }
<a name="152" href="#152">152</a>     
<a name="153" href="#153">153</a>     @Test
<a name="154" href="#154">154</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_split_words() {
<a name="155" href="#155">155</a>     	String[] words = {<span class="jxr_string">"One"</span>, <span class="jxr_string">"two"</span>, <span class="jxr_string">"three"</span>, <span class="jxr_string">"four"</span>};
<a name="156" href="#156">156</a>     	assertArrayEquals(words, LoremIpsum.splitWords(<span class="jxr_string">"One two three four"</span>));    	
<a name="157" href="#157">157</a>     	assertArrayEquals(words, LoremIpsum.splitWords(<span class="jxr_string">"  One    two  three  four   "</span>)); 
<a name="158" href="#158">158</a>     }
<a name="159" href="#159">159</a>                 
<a name="160" href="#160">160</a>     @Test
<a name="161" href="#161">161</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_split_words_empty() {
<a name="162" href="#162">162</a>     	String[] words = {};
<a name="163" href="#163">163</a>     	assertArrayEquals(words, LoremIpsum.splitWords(<span class="jxr_string">""</span>));
<a name="164" href="#164">164</a> 	}
<a name="165" href="#165">165</a>     
<a name="166" href="#166">166</a>     @Test
<a name="167" href="#167">167</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_choose_closest() {
<a name="168" href="#168">168</a>     	Integer[] intArray1 ={1,2,3,4};
<a name="169" href="#169">169</a>         assertEquals(1, LoremIpsum.chooseClosest(intArray1, 1));
<a name="170" href="#170">170</a>         Integer[] intArray2 ={1,2,3,4};
<a name="171" href="#171">171</a>         assertEquals(4, LoremIpsum.chooseClosest(intArray2, 4));
<a name="172" href="#172">172</a>         assertEquals(4, LoremIpsum.chooseClosest(intArray2, 20));
<a name="173" href="#173">173</a>         assertEquals(1, LoremIpsum.chooseClosest(intArray2, -10));
<a name="174" href="#174">174</a>         Integer[] intArray3 ={1,4};
<a name="175" href="#175">175</a>         assertEquals(1, LoremIpsum.chooseClosest(intArray3, 2));
<a name="176" href="#176">176</a>         assertEquals(4, LoremIpsum.chooseClosest(intArray3, 3));
<a name="177" href="#177">177</a>         Integer[] intArray4 ={1,3};
<a name="178" href="#178">178</a>         assertEquals(1, LoremIpsum.chooseClosest(intArray4, 2));
<a name="179" href="#179">179</a>         Integer[] intArray5 ={3,1};
<a name="180" href="#180">180</a>         assertEquals(3, LoremIpsum.chooseClosest(intArray5, 2));
<a name="181" href="#181">181</a>         Integer[] intArray6 ={1};
<a name="182" href="#182">182</a>         assertEquals(1, LoremIpsum.chooseClosest(intArray6, 200));
<a name="183" href="#183">183</a>     }
<a name="184" href="#184">184</a> 
<a name="185" href="#185">185</a>     @Test
<a name="186" href="#186">186</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_sentence_mean() {
<a name="187" href="#187">187</a>         assertEquals(5.0d, generator.getSentenceMean(), 0.01d);
<a name="188" href="#188">188</a> 	}
<a name="189" href="#189">189</a>    
<a name="190" href="#190">190</a>     @Test
<a name="191" href="#191">191</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_paragraph_mean() {
<a name="192" href="#192">192</a>     	assertEquals(2.0d, generator.getParagraphMean(), 0.01d);
<a name="193" href="#193">193</a>     }
<a name="194" href="#194">194</a>         
<a name="195" href="#195">195</a>     @Test
<a name="196" href="#196">196</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_sentence_sigma() {
<a name="197" href="#197">197</a>         assertEquals(1.0d, generator.getSentenceSigma(), 0.01d);
<a name="198" href="#198">198</a>     }
<a name="199" href="#199">199</a>         
<a name="200" href="#200">200</a>     @Test
<a name="201" href="#201">201</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_paragraph_sigma() {
<a name="202" href="#202">202</a>         assertEquals(0.0d, generator.getParagraphSigma(), 0.01d);
<a name="203" href="#203">203</a>     }
<a name="204" href="#204">204</a>         
<a name="205" href="#205">205</a>     @Test
<a name="206" href="#206">206</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_sample() {
<a name="207" href="#207">207</a>         assertEquals(generator.getSample(), sample);
<a name="208" href="#208">208</a>     }
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>     @Test
<a name="211" href="#211">211</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_dictionary() {
<a name="212" href="#212">212</a>         assertEquals(generator.getDictionary(), dictionary);
<a name="213" href="#213">213</a>     }
<a name="214" href="#214">214</a> 
<a name="215" href="#215">215</a>     @Test
<a name="216" href="#216">216</a> 	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_set_dictionary() {
<a name="217" href="#217">217</a>         String newdict = <span class="jxr_string">"a b c"</span>;
<a name="218" href="#218">218</a>         generator.setDictionary(newdict);
<a name="219" href="#219">219</a>         assertEquals(generator.getDictionary(), newdict);
<a name="220" href="#220">220</a> 	}
<a name="221" href="#221">221</a>     
<a name="222" href="#222">222</a>     @Test 
<a name="223" href="#223">223</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_init_no_sample() {
<a name="224" href="#224">224</a>     	doGenerate(<span class="jxr_string">""</span>);
<a name="225" href="#225">225</a>     	doGenerate(<span class="jxr_string">" "</span>);
<a name="226" href="#226">226</a>     	doGenerate(<span class="jxr_string">"\n\n"</span>);
<a name="227" href="#227">227</a>     	doGenerate(<span class="jxr_string">"  \n\n  "</span>);
<a name="228" href="#228">228</a>     	doGenerate(<span class="jxr_string">" .\n\n ."</span>);
<a name="229" href="#229">229</a>     }
<a name="230" href="#230">230</a>     
<a name="231" href="#231">231</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doGenerate(String text) {
<a name="232" href="#232">232</a>     	<strong class="jxr_keyword">try</strong> {
<a name="233" href="#233">233</a>     		generator = <strong class="jxr_keyword">new</strong> LoremIpsum(text, dictionary);
<a name="234" href="#234">234</a>     		generator.generateParagraph(false);
<a name="235" href="#235">235</a>     		fail(<span class="jxr_string">"Sample text "</span> + text + <span class="jxr_string">" should generate exception."</span>);
<a name="236" href="#236">236</a>     	} <strong class="jxr_keyword">catch</strong> (RuntimeException e) {
<a name="237" href="#237">237</a>     		assertTrue(e.getMessage().contains(<span class="jxr_string">"Invalid sample text"</span>));
<a name="238" href="#238">238</a>     	}
<a name="239" href="#239">239</a>     }
<a name="240" href="#240">240</a>     
<a name="241" href="#241">241</a>     @Test 
<a name="242" href="#242">242</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test_init_no_dict() {
<a name="243" href="#243">243</a>     	doGenerateNoDict(<span class="jxr_string">""</span>);
<a name="244" href="#244">244</a>     	doGenerateNoDict(<span class="jxr_string">" "</span>);
<a name="245" href="#245">245</a>     	doGenerateNoDict(<span class="jxr_string">"\n\n"</span>);
<a name="246" href="#246">246</a>     	doGenerateNoDict(<span class="jxr_string">"  \n\n  "</span>);
<a name="247" href="#247">247</a>     }
<a name="248" href="#248">248</a>     
<a name="249" href="#249">249</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> doGenerateNoDict(String dict) {
<a name="250" href="#250">250</a>     	<strong class="jxr_keyword">try</strong> {
<a name="251" href="#251">251</a>     		generator = <strong class="jxr_keyword">new</strong> LoremIpsum(sample, dict);
<a name="252" href="#252">252</a>     		generator.generateParagraph(false);
<a name="253" href="#253">253</a>     		fail(<span class="jxr_string">"Dictionary "</span> + dict + <span class="jxr_string">" should generate exception."</span>);
<a name="254" href="#254">254</a>     	} <strong class="jxr_keyword">catch</strong> (RuntimeException e) {
<a name="255" href="#255">255</a>     		assertEquals(e.getMessage(), <span class="jxr_string">"Invalid dictionary."</span>);
<a name="256" href="#256">256</a>     	}
<a name="257" href="#257">257</a>     }
<a name="258" href="#258">258</a> 
<a name="259" href="#259">259</a>     @Test 
<a name="260" href="#260">260</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerate() {
<a name="261" href="#261">261</a>     	LOG.debug(<span class="jxr_string">"Generate new text: "</span>);
<a name="262" href="#262">262</a>     	String newDict = <span class="jxr_string">"me you he the One two three four five six Seven eight nine ten eleven twelve "</span>
<a name="263" href="#263">263</a>        		+ <span class="jxr_string">"Thirteen fourteen fifteen sixteen Seventeen eighteen nineteen twenty joe fred some"</span>;
<a name="264" href="#264">264</a>     	String[] newParagraphs = <strong class="jxr_keyword">new</strong> String[4];
<a name="265" href="#265">265</a>     	generator.setDictionary(newDict);
<a name="266" href="#266">266</a>     	<strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i&lt;newParagraphs.length; i++) {
<a name="267" href="#267">267</a>     		newParagraphs[i] = generator.generateParagraph(false);
<a name="268" href="#268">268</a>     		LOG.debug(newParagraphs[i]);
<a name="269" href="#269">269</a>     		LOG.debug(<span class="jxr_string">""</span>);
<a name="270" href="#270">270</a>     	}
<a name="271" href="#271">271</a>     	assertFalse(newParagraphs[0].equals(newParagraphs[1]));
<a name="272" href="#272">272</a>     	assertFalse(newParagraphs[0].equals(newParagraphs[2]));
<a name="273" href="#273">273</a>     	assertFalse(newParagraphs[0].equals(newParagraphs[3]));
<a name="274" href="#274">274</a>     	assertFalse(newParagraphs[1].equals(newParagraphs[2]));
<a name="275" href="#275">275</a>     	assertFalse(newParagraphs[1].equals(newParagraphs[3]));
<a name="276" href="#276">276</a>     	assertFalse(newParagraphs[2].equals(newParagraphs[3]));
<a name="277" href="#277">277</a>     }
<a name="278" href="#278">278</a>     
<a name="279" href="#279">279</a>     @Test 
<a name="280" href="#280">280</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsum() {
<a name="281" href="#281">281</a>     	LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum text: "</span>);
<a name="282" href="#282">282</a>     	LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="283" href="#283">283</a>     	String[] newParagraphs = <strong class="jxr_keyword">new</strong> String[4];
<a name="284" href="#284">284</a>     	<strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i=0; i&lt;newParagraphs.length; i++) {
<a name="285" href="#285">285</a>     		newParagraphs[i] = ipsum.generateParagraph(false);
<a name="286" href="#286">286</a>     		LOG.debug(newParagraphs[i]);
<a name="287" href="#287">287</a>     		LOG.debug(<span class="jxr_string">""</span>);
<a name="288" href="#288">288</a>     		LOG.debug(<span class="jxr_string">""</span>);
<a name="289" href="#289">289</a>     	}
<a name="290" href="#290">290</a>     }
<a name="291" href="#291">291</a>     
<a name="292" href="#292">292</a>     @Test 
<a name="293" href="#293">293</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumHtml1() {
<a name="294" href="#294">294</a>     	LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum as html paragraphs:"</span>);
<a name="295" href="#295">295</a>     	LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="296" href="#296">296</a>     	String output = ipsum.generateParagraphsHtml(2048, <strong class="jxr_keyword">true</strong>);
<a name="297" href="#297">297</a>     	LOG.debug(output);
<a name="298" href="#298">298</a>     	LOG.debug(<span class="jxr_string">""</span>);
<a name="299" href="#299">299</a>     }
<a name="300" href="#300">300</a>     
<a name="301" href="#301">301</a>     @Test 
<a name="302" href="#302">302</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumHtml2() {
<a name="303" href="#303">303</a>     	LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum as one html paragraph:"</span>);
<a name="304" href="#304">304</a>     	LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="305" href="#305">305</a>     	String output = ipsum.generateOneParagraphHtml(2048, <strong class="jxr_keyword">true</strong>);
<a name="306" href="#306">306</a>     	LOG.debug(output);
<a name="307" href="#307">307</a>     	LOG.debug(<span class="jxr_string">""</span>);
<a name="308" href="#308">308</a>     }
<a name="309" href="#309">309</a>     
<a name="310" href="#310">310</a>     @Test 
<a name="311" href="#311">311</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumHtml3() {
<a name="312" href="#312">312</a>         LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum as full html document: "</span>);
<a name="313" href="#313">313</a>     	LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="314" href="#314">314</a>     	String output = ipsum.generateParagraphsFullHtml(2048, <strong class="jxr_keyword">true</strong>);
<a name="315" href="#315">315</a>     	LOG.debug(output);
<a name="316" href="#316">316</a>     	LOG.debug(<span class="jxr_string">""</span>);
<a name="317" href="#317">317</a>     }
<a name="318" href="#318">318</a>     
<a name="319" href="#319">319</a>     @Test 
<a name="320" href="#320">320</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumPlainText() {
<a name="321" href="#321">321</a>     	LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum as plain text: "</span>);
<a name="322" href="#322">322</a>     	LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="323" href="#323">323</a>     	String output = ipsum.generateParagraphsPlainText(2048, <strong class="jxr_keyword">true</strong>);
<a name="324" href="#324">324</a>     	LOG.debug(output);
<a name="325" href="#325">325</a>     	LOG.debug(<span class="jxr_string">""</span>);
<a name="326" href="#326">326</a>     }
<a name="327" href="#327">327</a>     
<a name="328" href="#328">328</a>     @Test 
<a name="329" href="#329">329</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumPlainTextFormatted() {
<a name="330" href="#330">330</a>     	LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum as plain text with 60 columns: "</span>);
<a name="331" href="#331">331</a>     	LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="332" href="#332">332</a>     	String output = ipsum.generateParagraphsPlainText(256, 60, false);
<a name="333" href="#333">333</a>     	LOG.debug(output);
<a name="334" href="#334">334</a>     	LOG.debug(<span class="jxr_string">""</span>);
<a name="335" href="#335">335</a>     }
<a name="336" href="#336">336</a>         
<a name="337" href="#337">337</a>     @Test 
<a name="338" href="#338">338</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumHtml1Writer() <strong class="jxr_keyword">throws</strong> IOException {
<a name="339" href="#339">339</a>         LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum as html paragraphs with PrintWriter:"</span>);
<a name="340" href="#340">340</a>         LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="341" href="#341">341</a>         StringWriter writer = <strong class="jxr_keyword">new</strong> StringWriter();
<a name="342" href="#342">342</a>         ipsum.generateParagraphsHtml(writer, 2048, <strong class="jxr_keyword">true</strong>);
<a name="343" href="#343">343</a>         LOG.debug(writer.toString());
<a name="344" href="#344">344</a>         LOG.debug(<span class="jxr_string">"End Test."</span>);
<a name="345" href="#345">345</a>     }
<a name="346" href="#346">346</a>     
<a name="347" href="#347">347</a>     @Test 
<a name="348" href="#348">348</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumHtml2Writer() <strong class="jxr_keyword">throws</strong> IOException  {
<a name="349" href="#349">349</a>         LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum as full html paragraph with PrintWriter:"</span>);
<a name="350" href="#350">350</a>         LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="351" href="#351">351</a>         StringWriter writer = <strong class="jxr_keyword">new</strong> StringWriter();
<a name="352" href="#352">352</a>         ipsum.generateParagraphsFullHtml(writer, 2048, <strong class="jxr_keyword">true</strong>);
<a name="353" href="#353">353</a>         LOG.debug(writer.toString());
<a name="354" href="#354">354</a>         LOG.debug(<span class="jxr_string">"End Test."</span>);
<a name="355" href="#355">355</a>     }
<a name="356" href="#356">356</a>     
<a name="357" href="#357">357</a>     @Test 
<a name="358" href="#358">358</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumPlainTextWriter() <strong class="jxr_keyword">throws</strong> IOException  {
<a name="359" href="#359">359</a>         LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum as plain text with PrintWriter: "</span>);
<a name="360" href="#360">360</a>         LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="361" href="#361">361</a>         StringWriter writer = <strong class="jxr_keyword">new</strong> StringWriter();
<a name="362" href="#362">362</a>         ipsum.generateParagraphsPlainText(writer, 2048, <strong class="jxr_keyword">true</strong>);
<a name="363" href="#363">363</a>         LOG.debug(writer.toString());
<a name="364" href="#364">364</a>         LOG.debug(<span class="jxr_string">"End Test."</span>);
<a name="365" href="#365">365</a>     }
<a name="366" href="#366">366</a>     
<a name="367" href="#367">367</a>     @Test 
<a name="368" href="#368">368</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumPlainTextFormattedWriter() <strong class="jxr_keyword">throws</strong> IOException {
<a name="369" href="#369">369</a>         LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum as plain text with 60 columns with PrintWriter: "</span>);
<a name="370" href="#370">370</a>         LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum();
<a name="371" href="#371">371</a>         StringWriter writer = <strong class="jxr_keyword">new</strong> StringWriter();
<a name="372" href="#372">372</a>         ipsum.generateParagraphsPlainText(writer, 256, 60, false);
<a name="373" href="#373">373</a>         LOG.debug(writer.toString());
<a name="374" href="#374">374</a>         LOG.debug(<span class="jxr_string">"End Test."</span>);
<a name="375" href="#375">375</a>     }
<a name="376" href="#376">376</a>     
<a name="377" href="#377">377</a>     @Test 
<a name="378" href="#378">378</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testGenerateLoreIpsumGerman() <strong class="jxr_keyword">throws</strong> Exception {
<a name="379" href="#379">379</a>     	LOG.debug(<span class="jxr_string">"Generate new Lore Ipsum Ferry Tale: "</span>);
<a name="380" href="#380">380</a>     	InputStream is = <strong class="jxr_keyword">this</strong>.getClass().getResourceAsStream(<span class="jxr_string">"/HaenselUndGretel.txt"</span>);
<a name="381" href="#381">381</a>     	
<a name="382" href="#382">382</a>     	<em class="jxr_comment">// read stream into a string</em>
<a name="383" href="#383">383</a>     	<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong>[] buffer = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">char</strong>[0x10000];
<a name="384" href="#384">384</a>     	StringBuilder sample = <strong class="jxr_keyword">new</strong> StringBuilder();
<a name="385" href="#385">385</a>     	Reader in = <strong class="jxr_keyword">new</strong> InputStreamReader(is, <span class="jxr_string">"ISO-8859-1"</span>);
<a name="386" href="#386">386</a>     	<strong class="jxr_keyword">int</strong> read;
<a name="387" href="#387">387</a>     	<strong class="jxr_keyword">do</strong> {
<a name="388" href="#388">388</a>     	  read = in.read(buffer, 0, buffer.length);
<a name="389" href="#389">389</a>     	  <strong class="jxr_keyword">if</strong> (read&gt;0) {
<a name="390" href="#390">390</a>     	    sample.append(buffer, 0, read);
<a name="391" href="#391">391</a>     	  }
<a name="392" href="#392">392</a>     	} <strong class="jxr_keyword">while</strong> (read&gt;=0);
<a name="393" href="#393">393</a> 
<a name="394" href="#394">394</a>     	
<a name="395" href="#395">395</a>     	LoremIpsum ipsum = <strong class="jxr_keyword">new</strong> LoremIpsum(sample.toString());
<a name="396" href="#396">396</a>     	String output = ipsum.generateParagraphsPlainText(4096, 80, false);
<a name="397" href="#397">397</a>     	LOG.debug(output);
<a name="398" href="#398">398</a>         LOG.debug(<span class="jxr_string">"End Test."</span>);
<a name="399" href="#399">399</a>     }
<a name="400" href="#400">400</a>     
<a name="401" href="#401">401</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

