📄 testspecification.java
字号:
package org.abeesoft.fsmgenerator.specification;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import junit.framework.TestCase;
public class TestSpecification extends TestCase
{
private JAXBContext context = null;
private ObjectFactory factory = null;
@Override
protected void setUp() throws Exception
{
context = JAXBContext.newInstance( "org.abeesoft.fsmgenerator.specification" );
factory = new ObjectFactory();
super.setUp();
}
@Override
protected void tearDown() throws Exception
{
super.tearDown();
context = null;
factory = null;
}
public void testObjectFactory() throws Exception
{
assertNotNull( context );
assertNotNull( factory );
Event event = factory.createEvent();
}
public void testMarshalling() throws Exception
{
Specification specification = factory.createSpecification();
Machine machine = factory.createMachine();
machine.setName( "Kobi" );
States states = factory.createStates();
{
State state = factory.createState();
state.setName( "Home" );
state.setIsFinal( Boolean.TRUE );
states.getState().add( state );
}
{
State state = factory.createState();
state.setName( "Work" );
state.setIsFinal( Boolean.FALSE );
states.getState().add( state );
}
{
State state = factory.createState();
state.setName( "Girlfriend" );
state.setIsFinal( Boolean.FALSE );
states.getState().add( state );
}
machine.setStates( states );
Events events = factory.createEvents();
{
Event event = factory.createEvent();
event.setName( "Morning alarm rings" );
events.getEvent().add( event );
}
{
Event event = factory.createEvent();
event.setName( "I gotta see my girlfriend!" );
events.getEvent().add( event );
}
{
Event event = factory.createEvent();
event.setName( "No, today you can't stay at my place!" );
events.getEvent().add( event );
}
machine.setEvents( events );
Transitions transitions = factory.createTransitions();
{
Transition transition = factory.createTransition();
transition.setName( "go to work" );
transition.setFrom( "Home" );
transition.setOn( "Morning alarm rings" );
transition.setTo( "Work" );
transitions.getTransition().add( transition );
}
{
Transition transition = factory.createTransition();
transition.setName( "go to girlfriend" );
transition.setFrom( "Work" );
transition.setOn( "I gotta see my girlfriend!" );
transition.setTo( "Girlfriend" );
transitions.getTransition().add( transition );
}
{
Transition transition = factory.createTransition();
transition.setName( "go home" );
transition.setFrom( "Girlfriend" );
transition.setOn( "No, today you can't stay at my place!" );
transition.setTo( "Home" );
transitions.getTransition().add( transition );
}
machine.setTransitions( transitions );
specification.setMachine( machine );
Marshaller marshaller = context.createMarshaller();
assertNotNull( marshaller );
marshaller.marshal( specification, new FileOutputStream( "specification.xml" ) );
}
public void testUnmarshalling() throws Exception
{
Unmarshaller unmarshaller = context.createUnmarshaller();
assertNotNull( unmarshaller );
Specification specification = (Specification) unmarshaller.unmarshal( new FileInputStream( "specification.xml" ) );
assertNotNull( specification );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -