<!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>SubnetIPv4Test 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>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.filter.firewall;
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.net.InetAddress;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.net.UnknownHostException;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> junit.framework.TestCase;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment">/**</em>
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * TODO Add documentation</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * </em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * @version $Rev$, $Date$</em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> */</em>
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> SubnetIPv4Test <strong class="jxr_keyword">extends</strong> TestCase {
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test24() <strong class="jxr_keyword">throws</strong> UnknownHostException {
<a name="37" href="#37">37</a>  		InetAddress a = InetAddress.getByName(<span class="jxr_string">"127.2.3.0"</span>);
<a name="38" href="#38">38</a>  		InetAddress b = InetAddress.getByName(<span class="jxr_string">"127.2.3.4"</span>);
<a name="39" href="#39">39</a>  		InetAddress c = InetAddress.getByName(<span class="jxr_string">"127.2.3.255"</span>);
<a name="40" href="#40">40</a>  		InetAddress d = InetAddress.getByName(<span class="jxr_string">"127.2.4.4"</span>);
<a name="41" href="#41">41</a>  		
<a name="42" href="#42">42</a>  		Subnet mask = <strong class="jxr_keyword">new</strong> Subnet(a, 24);
<a name="43" href="#43">43</a>  		
<a name="44" href="#44">44</a>  		assertTrue(mask.inSubnet(a));
<a name="45" href="#45">45</a>  		assertTrue(mask.inSubnet(b));
<a name="46" href="#46">46</a>  		assertTrue(mask.inSubnet(c));
<a name="47" href="#47">47</a>  		assertFalse(mask.inSubnet(d));
<a name="48" href="#48">48</a>  	}
<a name="49" href="#49">49</a>  
<a name="50" href="#50">50</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> test16() <strong class="jxr_keyword">throws</strong> UnknownHostException {
<a name="51" href="#51">51</a>  		InetAddress a = InetAddress.getByName(<span class="jxr_string">"127.2.0.0"</span>);
<a name="52" href="#52">52</a>  		InetAddress b = InetAddress.getByName(<span class="jxr_string">"127.2.3.4"</span>);
<a name="53" href="#53">53</a>  		InetAddress c = InetAddress.getByName(<span class="jxr_string">"127.2.129.255"</span>);
<a name="54" href="#54">54</a>  		InetAddress d = InetAddress.getByName(<span class="jxr_string">"127.3.4.4"</span>);
<a name="55" href="#55">55</a>  		
<a name="56" href="#56">56</a>  		Subnet mask = <strong class="jxr_keyword">new</strong> Subnet(a, 16);
<a name="57" href="#57">57</a>  		
<a name="58" href="#58">58</a>  		assertTrue(mask.inSubnet(a));
<a name="59" href="#59">59</a>  		assertTrue(mask.inSubnet(b));
<a name="60" href="#60">60</a>  		assertTrue(mask.inSubnet(c));
<a name="61" href="#61">61</a>  		assertFalse(mask.inSubnet(d));
<a name="62" href="#62">62</a>  	}
<a name="63" href="#63">63</a>  	
<a name="64" href="#64">64</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSingleIp() <strong class="jxr_keyword">throws</strong> UnknownHostException {
<a name="65" href="#65">65</a>  		InetAddress a = InetAddress.getByName(<span class="jxr_string">"127.2.3.4"</span>);
<a name="66" href="#66">66</a>  		InetAddress b = InetAddress.getByName(<span class="jxr_string">"127.2.3.3"</span>);
<a name="67" href="#67">67</a>  		InetAddress c = InetAddress.getByName(<span class="jxr_string">"127.2.3.255"</span>);
<a name="68" href="#68">68</a>  		InetAddress d = InetAddress.getByName(<span class="jxr_string">"127.2.3.0"</span>);
<a name="69" href="#69">69</a>  		
<a name="70" href="#70">70</a>  		Subnet mask = <strong class="jxr_keyword">new</strong> Subnet(a, 32);
<a name="71" href="#71">71</a>  		
<a name="72" href="#72">72</a>  		assertTrue(mask.inSubnet(a));
<a name="73" href="#73">73</a>  		assertFalse(mask.inSubnet(b));
<a name="74" href="#74">74</a>  		assertFalse(mask.inSubnet(c));
<a name="75" href="#75">75</a>  		assertFalse(mask.inSubnet(d));
<a name="76" href="#76">76</a>  	}
<a name="77" href="#77">77</a>  	
<a name="78" href="#78">78</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testToString() <strong class="jxr_keyword">throws</strong> UnknownHostException {
<a name="79" href="#79">79</a>  		InetAddress a = InetAddress.getByName(<span class="jxr_string">"127.2.3.0"</span>);
<a name="80" href="#80">80</a>  		Subnet mask = <strong class="jxr_keyword">new</strong> Subnet(a, 24);
<a name="81" href="#81">81</a>  		
<a name="82" href="#82">82</a>  		assertEquals(<span class="jxr_string">"127.2.3.0/24"</span>, mask.toString());
<a name="83" href="#83">83</a>  	}
<a name="84" href="#84">84</a>  
<a name="85" href="#85">85</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testToStringLiteral() <strong class="jxr_keyword">throws</strong> UnknownHostException {
<a name="86" href="#86">86</a>  		InetAddress a = InetAddress.getByName(<span class="jxr_string">"localhost"</span>);
<a name="87" href="#87">87</a>  		Subnet mask = <strong class="jxr_keyword">new</strong> Subnet(a, 32);
<a name="88" href="#88">88</a>  		
<a name="89" href="#89">89</a>  		assertEquals(<span class="jxr_string">"127.0.0.1/32"</span>, mask.toString());
<a name="90" href="#90">90</a>  	}
<a name="91" href="#91">91</a>  	
<a name="92" href="#92">92</a>  	
<a name="93" href="#93">93</a>  	<strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEquals() <strong class="jxr_keyword">throws</strong> UnknownHostException {
<a name="94" href="#94">94</a>  		Subnet a = <strong class="jxr_keyword">new</strong> Subnet(InetAddress.getByName(<span class="jxr_string">"127.2.3.4"</span>), 32);
<a name="95" href="#95">95</a>  		Subnet b = <strong class="jxr_keyword">new</strong> Subnet(InetAddress.getByName(<span class="jxr_string">"127.2.3.4"</span>), 32);
<a name="96" href="#96">96</a>  		Subnet c = <strong class="jxr_keyword">new</strong> Subnet(InetAddress.getByName(<span class="jxr_string">"127.2.3.5"</span>), 32);
<a name="97" href="#97">97</a>  		Subnet d = <strong class="jxr_keyword">new</strong> Subnet(InetAddress.getByName(<span class="jxr_string">"127.2.3.5"</span>), 24);
<a name="98" href="#98">98</a>  		
<a name="99" href="#99">99</a>  		assertTrue(a.equals(b));
<a name="100" href="#100">100</a> 		assertFalse(a.equals(c));
<a name="101" href="#101">101</a> 		assertFalse(a.equals(d));
<a name="102" href="#102">102</a> 		assertFalse(a.equals(<strong class="jxr_keyword">null</strong>));
<a name="103" href="#103">103</a> 	}
<a name="104" href="#104">104</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

