package org.dcache.services.info.base; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; public class StateTransitionTests { static final StatePath PATH_WITH_SCS = StatePath.parsePath( "aaa.bbb"); static final StatePath OTHER_PATH = StatePath.parsePath( "aaa.bbb.ccc"); StateTransition _transition; StateChangeSet _scs; @Before public void setUp() { _transition = new StateTransition(); _scs = _transition.getOrCreateChangeSet( PATH_WITH_SCS); } @Test public void testUnknownNullGetStateChangeSet() { assertNull( "null StatPath", _transition.getStateChangeSet( null)); } @Test public void testUnknownNotNullGetStateChangeSet() { assertNull( "OtherPath StatPath", _transition.getStateChangeSet( OTHER_PATH)); } @Test public void testKnownGetStateChangeSet() { assertSame( "Couldn't find SCS", _scs, _transition.getStateChangeSet( PATH_WITH_SCS)); } @Test public void testNullGetOrCreateChangeSet() { StateChangeSet nullCsc = _transition.getOrCreateChangeSet( null); assertSame( "null StatPath", nullCsc, _transition.getStateChangeSet( null)); } @Test public void testOtherPathGetOrCreateChangeSet() { StateChangeSet otherPathCsc = _transition.getOrCreateChangeSet( OTHER_PATH); assertSame( "OtherPath StatPath", otherPathCsc, _transition.getStateChangeSet( OTHER_PATH)); } @Test public void testKnownGetOrCreateChangeSet() { assertSame( "Scs", _scs, _transition.getOrCreateChangeSet( PATH_WITH_SCS)); assertSame( "Scs", _scs, _transition.getStateChangeSet( PATH_WITH_SCS)); } @Test public void testDumpContenst() { _transition.getOrCreateChangeSet( null); _transition.getOrCreateChangeSet( OTHER_PATH); String dump = _transition.dumpContents(); assertTrue( "zero-length string returned", dump.length() > 0); assertEquals( "string not ended with newline char", '\n', dump.charAt( dump.length()-1)); } }