package com.sap.furcas.runtime.parser.testbase.stubs; import static com.sap.furcas.test.testutils.StringListHelper.list; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.Collection; import org.junit.Test; import com.sap.furcas.test.testutils.StringListHelper; /** * Tests the Stub ModelAdapter used in Scenario tests. */ public class TestStubModelAdapter { @Test public void testStubHandlerCreate() throws Exception { StubModelAdapter handler = new StubModelAdapter(); Object object = handler.createElement(list("test")); assertNotNull(object); Collection<StubModelElement> objects = handler.getElementsOfType("test"); assertNotNull(objects); assertEquals(1, objects.size()); assertTrue(objects.contains(object)); Object object2 = handler.createElement(list("test")); objects = handler.getElementsOfType("test"); assertNotNull(objects); assertEquals(2, objects.size()); assertTrue(objects.contains(object)); assertTrue(objects.contains(object2)); objects = handler.getElementsOfType("test"); assertNotNull(objects); assertEquals(2, objects.size()); objects = handler.getElementsOfType("test2"); assertNull("No such element was created", objects); } @Test public void testStubHandlerSet() throws Exception { StubModelAdapter handler = new StubModelAdapter(); Object object = handler.createElement(list("test")); assertNotNull(object); assertNull(handler.get(object, "name")); handler.set(object, "name", "name1"); assertEquals("name1", handler.get(object, "name")); object = handler.createElement(list("test")); handler.set(object, "name", "name2"); assertEquals("name2", handler.get(object, "name")); object = handler.createElement(list("Other")); Object object2 = handler.createElement(list("Other")); handler.set(object, "reference", object2); assertEquals(object2, handler.get(object, "reference")); } @Test public void testStubHandlerSetRef() throws Exception { StubModelAdapter handler = new StubModelAdapter(); Object object = handler.createElement(list("test")); Object object1 = handler.createElement(list("Other")); handler.set(object1, "id", "1111"); Object object2 = handler.createElement(list("Other")); handler.set(object2, "id", "1234"); Object object3 = handler.createElement(list("Other")); handler.set(object3, "id", "4444"); handler.setReferenceWithLookup(object, "reference", StringListHelper.list("Other"), "id", "1234"); assertEquals(object2, handler.get(object, "reference")); } }