writeHeader(view, writer); view.getElements().stream() .map(ElementView::getElement) .filter(e -> e instanceof Person && ((Person)e).getLocation() == Location.External) .forEach(e -> write(view, e, writer, false)); view.getElements().stream() .map(ElementView::getElement) .filter(e -> e instanceof SoftwareSystem && ((SoftwareSystem)e).getLocation() == Location.External) writer.write(System.lineSeparator()); view.getElements().stream() .map(ElementView::getElement) .filter(e -> e instanceof Person && ((Person)e).getLocation() == Location.Internal) .forEach(e -> write(view, e, writer, true)); view.getElements().stream() .map(ElementView::getElement) .filter(e -> e instanceof SoftwareSystem && ((SoftwareSystem)e).getLocation() == Location.Internal)
@Test public void test_addAllElements_AddsAllSoftwareSystemsAndPeople_WhenThereAreSomeSoftwareSystemsAndPeopleInTheModel() { SoftwareSystem softwareSystem = model.addSoftwareSystem("Software System", "Description"); Person person = model.addPerson("Person", "Description"); view.addAllElements(); assertEquals(2, view.getElements().size()); assertTrue(view.getElements().contains(new ElementView(softwareSystem))); assertTrue(view.getElements().contains(new ElementView(person))); }
@Test public void test_addAllSoftwareSystems_DoesNothing_WhenThereAreNoOtherSoftwareSystems() { view.addAllSoftwareSystems(); assertEquals(0, view.getElements().size()); }
@Test public void test_addAllPeople_AddsAllPeople_WhenThereAreSomePeopleInTheModel() { Person userA = model.addPerson("User A", "Description"); Person userB = model.addPerson("User B", "Description"); view.addAllPeople(); assertEquals(2, view.getElements().size()); assertTrue(view.getElements().contains(new ElementView(userA))); assertTrue(view.getElements().contains(new ElementView(userB))); }
@Test public void test_addAllElements_DoesNothing_WhenThereAreNoSoftwareSystemsOrPeople() { view.addAllElements(); assertEquals(0, view.getElements().size()); }
@Test public void test_addAllSoftwareSystems_AddsAllSoftwareSystems_WhenThereAreSomeSoftwareSystemsInTheModel() { SoftwareSystem softwareSystemA = model.addSoftwareSystem(Location.External, "System A", "Description"); SoftwareSystem softwareSystemB = model.addSoftwareSystem(Location.External, "System B", "Description"); view.addAllSoftwareSystems(); assertEquals(2, view.getElements().size()); assertTrue(view.getElements().contains(new ElementView(softwareSystemA))); assertTrue(view.getElements().contains(new ElementView(softwareSystemB))); }
@Test public void test_addAllPeople_DoesNothing_WhenThereAreNoPeople() { view.addAllPeople(); assertEquals(0, view.getElements().size()); }
@Test public void test_addNearestNeighbours_DoesNothing_WhenThereAreNoNeighbours() { SoftwareSystem softwareSystem = model.addSoftwareSystem("The System", "Description"); view.addNearestNeighbours(softwareSystem); assertEquals(1, view.getElements().size()); }
@Test public void test_construction() { assertEquals("System Landscape", view.getName()); assertEquals(0, view.getElements().size()); assertSame(model, view.getModel()); }
assertEquals(3, view.getElements().size()); assertTrue(view.getElements().contains(new ElementView(softwareSystemA))); assertTrue(view.getElements().contains(new ElementView(softwareSystem))); assertTrue(view.getElements().contains(new ElementView(softwareSystemB))); assertEquals(3, view.getElements().size()); assertTrue(view.getElements().contains(new ElementView(userA))); assertTrue(view.getElements().contains(new ElementView(softwareSystemA))); assertTrue(view.getElements().contains(new ElementView(softwareSystem)));
@Test public void test_copyLayoutInformationFrom_WhenTheSystemLandscapeViewKeysMatch() { Workspace workspace1 = createWorkspace(); SoftwareSystem softwareSystem1 = workspace1.getModel().getSoftwareSystemWithName("Software System"); SystemLandscapeView view1 = workspace1.getViews().createSystemLandscapeView("landscape", "Description"); view1.addAllElements(); view1.getElements().iterator().next().setX(100); view1.setPaperSize(PaperSize.A3_Landscape); Workspace workspace2 = createWorkspace(); SoftwareSystem softwareSystem2 = workspace2.getModel().getSoftwareSystemWithName("Software System"); SystemLandscapeView view2 = workspace2.getViews().createSystemLandscapeView("context", "Description"); view2.addAllElements(); workspace2.getViews().copyLayoutInformationFrom(workspace1.getViews()); assertEquals(100, view2.getElements().iterator().next().getX()); assertEquals(PaperSize.A3_Landscape, view2.getPaperSize()); }
@Test public void test_copyLayoutInformationFrom_DoesNotDoAnythingIfThereIsNoSystemLandscapeViewToCopyInformationFrom() { Workspace workspace1 = createWorkspace(); Workspace workspace2 = createWorkspace(); SoftwareSystem softwareSystem2 = workspace2.getModel().getSoftwareSystemWithName("Software System"); SystemLandscapeView view2 = workspace2.getViews().createSystemLandscapeView("landscape", "Description"); view2.addAllElements(); workspace2.getViews().copyLayoutInformationFrom(workspace1.getViews()); assertEquals(0, view2.getElements().iterator().next().getX()); // default assertNull(view2.getPaperSize()); // default }