/** 
 * 
 * Copyright 2004 Protique Ltd
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 * 
 **/
package org.codehaus.activemq;

import junit.framework.TestCase;
import org.codehaus.activemq.util.IdGenerator;

import java.util.ArrayList;
import java.util.List;

/**
 * ActiveMQMessageAuditTest
 *
 * @version $Revision: 1.1 $
 */
public class ActiveMQMessageAuditTest extends TestCase {
    public static void main(String[] args) {
    }


    protected void setUp() throws Exception {
        super.setUp();
    }

    protected void tearDown() throws Exception {
        super.tearDown();
    }

    /**
     * Constructor for ActiveMQMessageAuditTest.
     *
     * @param arg0
     */
    public ActiveMQMessageAuditTest(String arg0) {
        super(arg0);
    }

    /**
     * test case for isDuplicate
     */
    public void testIsDuplicateString() {
        int count = 10000;

        ActiveMQMessageAudit audit = new ActiveMQMessageAudit();

        IdGenerator idGen = new IdGenerator();
        //add to a list
        List list = new ArrayList();
        for (int i = 0; i < count; i++) {
            String id = idGen.generateId();
            list.add(id);
            assertTrue(audit.isDuplicate(id) == false);
        }
        for (int i = 0; i < count; i++) {
            String id = list.get(i).toString();
            assertTrue(audit.isDuplicate(id));
        }
    }
}
