1   /*
2    *   Licensed to the Apache Software Foundation (ASF) under one
3    *   or more contributor license agreements.  See the NOTICE file
4    *   distributed with this work for additional information
5    *   regarding copyright ownership.  The ASF licenses this file
6    *   to you under the Apache License, Version 2.0 (the
7    *   "License"); you may not use this file except in compliance
8    *   with the License.  You may obtain a copy of the License at
9    *
10   *     http://www.apache.org/licenses/LICENSE-2.0
11   *
12   *   Unless required by applicable law or agreed to in writing,
13   *   software distributed under the License is distributed on an
14   *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   *   KIND, either express or implied.  See the License for the
16   *   specific language governing permissions and limitations
17   *   under the License.
18   *
19   */
20  
21  package org.apache.directory.mitosis.common;
22  
23  
24  import junit.framework.TestCase;
25  
26  
27  /**
28   * Test case for the DefaultCSNFactory class.
29   *
30   * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
31   */
32  public class DefaultCSNFactoryTest extends TestCase
33  {
34      private static final int NUM_GENERATES = 10;
35  
36  
37      /**
38       * Ensure all CSN's generated by a CSNFactory are unique.
39       *
40       */
41      public void testUnique()
42      {
43          String replicaID = "test";
44          DefaultCSNFactory defaultCSNFactory = new DefaultCSNFactory();
45  
46          CSN[] csns = new CSN[NUM_GENERATES];
47  
48          for ( int i = 0; i < NUM_GENERATES; i++ )
49          {
50              csns[i] = defaultCSNFactory.newInstance( replicaID );
51          }
52  
53          for ( int i = 0; i < NUM_GENERATES; i++ )
54          {
55              for ( int j = i + 1; j < NUM_GENERATES; j++ )
56              {
57                  assertFalse( csns[i].equals( csns[j] ) );
58              }
59          }
60      }
61  }