package org.apache.usergrid.persistence.collection.mvcc.entity.impl; import org.junit.Test; import org.apache.usergrid.persistence.collection.mvcc.entity.Stage; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; /** @author tnine */ public class StageTest { @Test public void active() { assertTrue( Stage.ACTIVE.isTransient() ); assertEquals( 0, Stage.ACTIVE.getId() ); testUnique( Stage.ACTIVE ); } @Test public void rollback() { assertTrue( Stage.ROLLBACK.isTransient() ); assertEquals( 1, Stage.ROLLBACK.getId() ); testUnique( Stage.ROLLBACK ); } @Test public void comitted() { assertFalse( Stage.COMMITTED.isTransient() ); assertEquals( 2, Stage.COMMITTED.getId() ); testUnique( Stage.COMMITTED ); } @Test public void postProcess() { assertFalse( Stage.POSTPROCESS.isTransient() ); assertEquals( 6, Stage.POSTPROCESS.getId() ); testUnique( Stage.POSTPROCESS ); } @Test public void complete() { assertFalse( Stage.COMPLETE.isTransient() ); assertEquals( 14, Stage.COMPLETE.getId() ); testUnique( Stage.COMPLETE ); } /** Test we don't have dups in the byte value */ private void testUnique( Stage test ) { for ( Stage stage : Stage.values() ) { //skip self if ( stage == test ) { continue; } assertFalse( stage.getId() == test.getId() ); } } }