<!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>VmPipeConnectorFactoryBeanTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: VmPipeConnectorFactoryBeanTest.java 355016 2005-12-08 07:00:30Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="comment"> *       <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../../org/apache/mina/integration/spring/package-summary.html">org.apache.mina.integration.spring</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> junit.framework.TestCase;
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong>import</strong> org.apache.mina.transport.vmpipe.VmPipeConnector;
<a name="24" href="#24">24</a>  
<a name="25" href="#25">25</a>  <em>/**<em>*</em></em>
<a name="26" href="#26">26</a>  <em> * Tests {@link org.apache.mina.integration.spring.VmPipeConnectorFactoryBean}.</em>
<a name="27" href="#27">27</a>  <em> * </em>
<a name="28" href="#28">28</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="29" href="#29">29</a>  <em> * @version $Rev: 355016 $, $Date: 2005-12-08 16:00:30 +0900 (Thu, 08 Dec 2005) $</em>
<a name="30" href="#30">30</a>  <em> */</em>
<a name="31" href="#31">31</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/integration/spring/VmPipeConnectorFactoryBeanTest.html">VmPipeConnectorFactoryBeanTest</a> <strong>extends</strong> TestCase
<a name="32" href="#32">32</a>  {
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>      <strong>public</strong> <strong>void</strong> testCreateIoConnector() throws Exception
<a name="35" href="#35">35</a>      {
<a name="36" href="#36">36</a>          VmPipeConnectorFactoryBean factory = <strong>new</strong> VmPipeConnectorFactoryBean();
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>          assertTrue( factory.createIoConnector() instanceof VmPipeConnector );
<a name="39" href="#39">39</a>      }
<a name="40" href="#40">40</a>  
<a name="41" href="#41">41</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

