package model; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import java.awt.Point; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import atd.ATDArc; import atd.ATDEdge; import atd.ATDImage; import atd.ATDNode; import atd.ElementaryActorRole; import atd.Initiator; public class DiagramTest { Diagram collection; ElementaryActorRole ear1, ear2; Initiator initiator1, initiator2; @BeforeClass public static void oneTimeSetUp() { // one-time initialization code } @AfterClass public static void oneTimeTearDown() { // one-time cleanup code } @Before public void setUp() { collection = new Diagram("1"); ear1 = new ElementaryActorRole(1); ear2 = new ElementaryActorRole(2); initiator1 = new Initiator(1); initiator2 = new Initiator(2); } @After public void tearDown() { collection = null; ear1 = null; ear2=null; initiator1 = null; initiator2 = null; } @Test public void testAddShape() { collection.add(ear1); collection.add(ear2); assertTrue(collection.contains(ear1)); assertTrue(collection.contains(ear2)); collection.add(ear1); assertTrue(collection.contains(ear1)); collection.remove(ear1); assertFalse(collection.contains(ear1)); } @Test public void testRemoveShape() { collection.add(ear1); assertTrue(collection.contains(ear1)); collection.remove(ear1); assertFalse(collection.contains(ear1)); } @Test public void testAddDuplicateShape() { collection.add(ear1); collection.add(ear1); assertTrue(collection.contains(ear1)); collection.remove(ear1); assertFalse(collection.contains(ear1)); } @Test public void testAddEdge(){ collection.add(initiator1); collection.add(initiator2); assertTrue(collection.contains(initiator1)); assertTrue(collection.contains(initiator2)); } @Test public void testRemoveEdge() { collection.add(initiator1); assertTrue(collection.contains(initiator1)); collection.remove(initiator1); assertFalse(collection.contains(initiator1)); } @Test public void testAddDuplicateEdge() { collection.add(initiator1); collection.add(initiator1); assertTrue(collection.contains(initiator1)); collection.remove(initiator1); assertFalse(collection.contains(initiator1)); } @Test public void testLink(){ collection.add(ear1); collection.add(ear2); collection.add(initiator1); initiator1.setHead(ear1); initiator1.setTail(ear2); assertEquals(initiator1.getHead(), ear1); assertEquals(initiator1.getTail(), ear2); } @Test public void testUnLink(){ collection.add(ear1); collection.add(ear2); collection.add(initiator1); initiator1.setHead(ear1); initiator1.setTail(ear2); assertEquals(initiator1.getHead(), ear1); assertEquals(initiator1.getTail(), ear2); initiator1.removeHead(); assertEquals(initiator1.getHead(), null); assertEquals(initiator1.getTail(), ear2); initiator1.removeTail(); assertEquals(initiator1.getTail(), null); } @Test public void testAddDuplicateImage(){ collection.add(ear1); ATDImage originalImage = (ATDImage) ear1.createImage(); originalImage.setLocation(new Point(2,2)); ATDImage duplicateImage = (ATDImage) ear1.createImage(); duplicateImage.setLocation(new Point(2,20)); collection.add(originalImage); collection.add(duplicateImage); assertTrue(collection.getImages().contains(originalImage)); assertTrue(collection.getImages().contains(duplicateImage)); } }