/*
 * Copyright (c) 2001, 2002 HPD Software Ltd.
 */

import aquarius.accounting.AccountingTransactionType;
import junit.framework.TestCase;
import org.apache.ojb.broker.PersistenceBroker;
import org.apache.ojb.broker.PersistenceBrokerFactory;

/**
 * Created by Charles on 27-Sep-2002 08:06:44 
 */
public class TestBrokerSequenceManager extends TestCase {

    private Class extentClass;

    protected void setUp() throws Exception {
        extentClass = AccountingTransactionType.class;
    }

    public void test_getUniqueIdWithOneBroker(){
        PersistenceBroker pb = PersistenceBrokerFactory.defaultPersistenceBroker();
        int id1 = pb.getUniqueId(extentClass,"id");
        int id2 = pb.getUniqueId(extentClass,"id");
        assertTrue(id1!=id2);
        assertTrue(id2 > id1);
        assertTrue((id2 - id1)==1);
    }

    public void test_getUniqueIdWithTwoBrokers(){
        PersistenceBroker pb = PersistenceBrokerFactory.defaultPersistenceBroker();
        PersistenceBroker pb2 = PersistenceBrokerFactory.defaultPersistenceBroker();

        int id1 = pb.getUniqueId(extentClass,"id");
        int id2 = pb2.getUniqueId(extentClass,"id");
        assertTrue(id1!=id2);
        assertTrue(id2 > id1);
        assertTrue((id2 - id1)==1);
    }
}

