KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > hajdbc > balancer > TestBalancerFactory


1 /*
2  * HA-JDBC: High-Availability JDBC
3  * Copyright (c) 2004-2006 Paul Ferraro
4  *
5  * This library is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU Lesser General Public License as published by the
7  * Free Software Foundation; either version 2.1 of the License, or (at your
8  * option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13  * for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this library; if not, write to the Free Software Foundation,
17  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Contact: ferraro@users.sourceforge.net
20  */

21 package net.sf.hajdbc.balancer;
22
23 import net.sf.hajdbc.Balancer;
24
25 import org.easymock.EasyMock;
26 import org.testng.annotations.Test;
27
28 /**
29  * @author Paul Ferraro
30  *
31  */

32 @Test
33 public class TestBalancerFactory
34 {
35     public void testSerialize()
36     {
37         this.assertBalancer(new SimpleBalancer(), "simple");
38         this.assertBalancer(new RandomBalancer(), "random");
39         this.assertBalancer(new RoundRobinBalancer(), "round-robin");
40         this.assertBalancer(new LoadBalancer(), "load");
41         
42         try
43         {
44             String JavaDoc balancer = BalancerFactory.serialize(EasyMock.createMock(Balancer.class));
45             
46             assert false : balancer;
47         }
48         catch (IllegalArgumentException JavaDoc e)
49         {
50             assert true;
51         }
52     }
53     
54     private void assertBalancer(Balancer balancer, String JavaDoc id)
55     {
56         String JavaDoc name = BalancerFactory.serialize(balancer);
57         
58         assert name.equals(id) : name;
59     }
60     
61     public void testDeserialize()
62     {
63         this.assertBalancer("simple", SimpleBalancer.class);
64         this.assertBalancer("random", RandomBalancer.class);
65         this.assertBalancer("round-robin", RoundRobinBalancer.class);
66         this.assertBalancer("load", LoadBalancer.class);
67             
68         try
69         {
70             Balancer balancer = BalancerFactory.deserialize("invalid");
71             
72             assert false : balancer.getClass().getName();
73         }
74         catch (Exception JavaDoc e)
75         {
76             assert true;
77         }
78     }
79     
80     private void assertBalancer(String JavaDoc id, Class JavaDoc<? extends Balancer> balancerClass)
81     {
82         try
83         {
84             Balancer balancer = BalancerFactory.deserialize("load");
85             
86             assert LoadBalancer.class.isInstance(balancer);
87         }
88         catch (Exception JavaDoc e)
89         {
90             assert false : e;
91         }
92     }
93 }
94
Popular Tags