1   /*
2    * Created on Mar 5, 2004
3    *
4    * To change the template for this generated file go to
5    * Window - Preferences - Java - Code Generation - Code and Comments
6    */
7   package org.codehaus.activemq.util;
8   
9   import junit.framework.TestCase;
10  
11  import java.util.Hashtable;
12  
13  /***
14   * To change the template for this generated type comment go to
15   * Window - Preferences - Java - Code Generation - Code and Comments
16   */
17  public class IdGeneratorTest extends TestCase {
18  
19      public static void main(String[] args) {
20          junit.textui.TestRunner.run(IdGeneratorTest.class);
21      }
22  
23      /*
24       * @see TestCase#setUp()
25       */
26      protected void setUp() throws Exception {
27          super.setUp();
28      }
29  
30      /*
31       * @see TestCase#tearDown()
32       */
33      protected void tearDown() throws Exception {
34          super.tearDown();
35      }
36  
37      /***
38       * Constructor for IdGeneratorTest.
39       *
40       * @param arg0
41       */
42      public IdGeneratorTest(String arg0) {
43          super(arg0);
44      }
45  
46      /***
47       * This is not a good test!
48       */
49  
50      public void testGenerateId() {
51          IdGenerator idGen = new IdGenerator();
52          int count = 100000;
53          Hashtable table = new Hashtable();
54          String str = "";
55          for (int i = 0; i < count; i++) {
56              str = idGen.generateId();
57              assertTrue(str != null);
58              assertTrue(table.get(str) == null);
59              table.put(str, str);
60          }
61      }
62  
63      public void testGetSeedFromId() {
64          IdGenerator idGen = new IdGenerator();
65          String seed = idGen.getSeed();
66          String id = idGen.generateId();
67          String generatorId = IdGenerator.getSeedFromId(id);
68          for (int i = 0; i < 1000; i++) {
69              assertTrue(generatorId.equals(seed));
70          }
71      }
72  
73      public void testGetCountFromId() {
74          IdGenerator idGen = new IdGenerator();
75          String seed = idGen.getSeed();
76          for (int i = 0; i < 100; i++) {
77              String id = idGen.generateId();
78              long count = IdGenerator.getCountFromId(id);
79              assertTrue(count == i);
80          }
81      }
82  
83      public void testCompare() {
84          IdGenerator idGen = new IdGenerator();
85          String seed = idGen.getSeed();
86          String lastId = null;
87          for (int i = 0; i < 100; i++) {
88              String id = idGen.generateId();
89              if (lastId != null) {
90                  assertTrue(IdGenerator.compare(lastId, id) == -1);
91              }
92              lastId = id;
93          }
94      }
95  
96  }