001 /* 002 * $Id: DistributedListTest.java 3443 2010-12-25 16:49:30Z kredel $ 003 */ 004 005 //package edu.unima.ky.parallel; 006 package edu.jas.util; 007 008 import java.util.Iterator; 009 010 import junit.framework.Test; 011 import junit.framework.TestCase; 012 import junit.framework.TestSuite; 013 014 import org.apache.log4j.BasicConfigurator; 015 016 017 /** 018 * DistributedList tests with JUnit. 019 * @author Heinz Kredel 020 */ 021 public class DistributedListTest extends TestCase { 022 023 /** 024 * main 025 */ 026 public static void main (String[] args) { 027 BasicConfigurator.configure(); 028 junit.textui.TestRunner.run( suite() ); 029 } 030 031 /** 032 * Constructs a <CODE>DistributedListTest</CODE> object. 033 * @param name String. 034 */ 035 public DistributedListTest(String name) { 036 super(name); 037 } 038 039 /** 040 */ 041 public static Test suite() { 042 TestSuite suite= new TestSuite(DistributedListTest.class); 043 return suite; 044 } 045 046 private static final String host = "localhost"; 047 048 private DistributedList l1; 049 private DistributedList l2; 050 private DistributedList l3; 051 052 private DistributedListServer dls; 053 054 int rl = 7; 055 int kl = 10; 056 int ll = 10; 057 int el = 5; 058 float q = 0.5f; 059 060 protected void setUp() { 061 dls = new DistributedListServer(); 062 dls.init(); 063 } 064 065 protected void tearDown() { 066 dls.terminate(); 067 dls = null; 068 if ( l1 != null ) l1.terminate(); 069 if ( l2 != null ) l2.terminate(); 070 if ( l3 != null ) l3.terminate(); 071 l1 = l2 = l3 = null; 072 } 073 074 075 /** 076 * Tests if the created DistributedList has #n objects as content. 077 */ 078 public void testDistributedList1() { 079 l1 = new DistributedList(host); 080 assertTrue("l1==empty",l1.isEmpty()); 081 l1.add( new Integer(1) ); 082 assertFalse("l1!=empty",l1.isEmpty()); 083 assertTrue("#l1==1", l1.size() == 1 ); 084 l1.add( new Integer(2) ); 085 assertTrue("#l1==2", l1.size() == 2 ); 086 l1.add( new Integer(3) ); 087 assertTrue("#l1==3", l1.size() == 3 ); 088 089 Iterator it = null; 090 it = l1.iterator(); 091 int i = 0; 092 while ( it.hasNext() ) { 093 Object o = it.next(); 094 Integer x = new Integer( ++i ); 095 assertEquals("l1(i)==(i)", x, o ); 096 } 097 098 l1.clear(); 099 assertTrue("#l1==0", l1.size() == 0 ); 100 } 101 102 103 /** 104 * Tests if the two created DistributedLists have #n objects as content. 105 */ 106 public void testDistributedList2() { 107 l2 = new DistributedList(host); 108 assertTrue("l2==empty",l2.isEmpty()); 109 l1 = new DistributedList(host); 110 assertTrue("l1==empty",l1.isEmpty()); 111 112 int i = 0, loops = 10; 113 while ( i < loops ) { 114 Integer x = new Integer( ++i ); 115 l1.add( x ); 116 assertTrue("#l1==i", l1.size() == i ); 117 } 118 assertTrue("#l1==10", l1.size() == loops ); 119 120 while ( l2.size() < loops ) { 121 try { 122 System.out.print("2"); 123 Thread.sleep(100); 124 } catch (InterruptedException e) { 125 } 126 } 127 Iterator it = null; 128 it = l2.iterator(); 129 i = 0; 130 while ( it.hasNext() ) { 131 Object o = it.next(); 132 Integer x = new Integer( ++i ); 133 //System.out.println("o = " + o + " x = "+ x); 134 assertEquals("l2(i)==(i)", x, o ); 135 } 136 assertTrue("#l2==10", l2.size() == loops ); 137 } 138 139 140 /** 141 * Tests if the three created DistributedLists have #n objects as content. 142 */ 143 public void testDistributedList3() { 144 l1 = new DistributedList(host); 145 assertTrue("l1==empty",l1.isEmpty()); 146 l2 = new DistributedList(host); 147 assertTrue("l2==empty",l2.isEmpty()); 148 l3 = new DistributedList(host); 149 assertTrue("l3==empty",l3.isEmpty()); 150 151 int i = 0, loops = 10; 152 while ( i < loops ) { 153 Integer x = new Integer( ++i ); 154 l3.add( x ); 155 assertTrue("#l3==i", l3.size() == i ); 156 } 157 assertTrue("#l3==10", l3.size() == loops ); 158 159 while ( l2.size() < loops || l1.size() < loops-1 ) { 160 try { 161 System.out.print("3"); 162 Thread.sleep(100); 163 } catch (InterruptedException e) { 164 } 165 } 166 assertTrue("#l2==10", l2.size() == loops ); 167 assertTrue("#l1==10", l1.size() == loops ); 168 Iterator it = null; 169 it = l2.iterator(); 170 Iterator it3 = null; 171 it3 = l1.iterator(); 172 i = 0; 173 /* sequence of elements is not correct at moment 174 */ 175 while ( it.hasNext() && it3.hasNext() ) { 176 Object o = it.next(); 177 Object p = it3.next(); 178 Integer x = new Integer( ++i ); 179 //System.out.println("o = " + o + " x = "+ x); 180 assertEquals("l2(i)==(i)", x, o ); 181 assertEquals("l1(i)==(i)", x, p ); 182 } 183 } 184 185 186 /** 187 * Tests if the two created DistributedLists have #n objects as content 188 * when one is created later. 189 */ 190 public void testDistributedList6() { 191 l1 = new DistributedList(host); 192 assertTrue("l1==empty",l1.isEmpty()); 193 194 int i = 0, loops = 10; 195 while ( i < loops ) { 196 Integer x = new Integer( ++i ); 197 l1.add( x ); 198 assertTrue("#l1==i", l1.size() == i ); 199 } 200 assertTrue("#l1==10", l1.size() == loops ); 201 202 l2 = new DistributedList(host); 203 // assertTrue("l2==empty",l2.isEmpty()); 204 while ( l2.size() < loops ) { 205 try { 206 //System.out.print("2"); 207 Thread.sleep(100); 208 } catch (InterruptedException e) { 209 } 210 } 211 Iterator it = null; 212 it = l2.iterator(); 213 i = 0; 214 while ( it.hasNext() ) { 215 Object o = it.next(); 216 Integer x = new Integer( ++i ); 217 //System.out.println("o = " + o + " x = "+ x); 218 assertEquals("l2(i)==(i)", x, o ); 219 } 220 assertTrue("#l2==10", l2.size() == loops ); 221 } 222 223 }