/** * <p>Adds all {@link com.structurizr.model.Container}s of the given {@link ContainerView} as well as all external influencers, that is all * persons and all other software systems with incoming or outgoing dependencies.</p> * <p>Additionally, all relationships of external dependencies are omitted to keep the diagram clean</p> */ public final void addAllContainersAndInfluencers() { // first add all containers of the underlying software system this.addAllContainers(); addAllInfluencers(); }
/** * Adds all people, software systems and containers that belong to the software system in scope. */ @Override public void addAllElements() { addAllSoftwareSystems(); addAllPeople(); addAllContainers(); }
@Test public void test_addAllContainers_DoesNothing_WhenThereAreNoContainers() { assertEquals(0, view.getElements().size()); view.addAllContainers(); assertEquals(0, view.getElements().size()); }
@Test public void test_remove_ElementsWithTag() { final String TAG = "myTag"; Container webApplication = softwareSystem.addContainer("Web Application", "", ""); Container database = softwareSystem.addContainer("Database", "", ""); database.addTags(TAG); view.addAllContainers(); assertEquals(2, view.getElements().size()); view.removeElementsWithTag(TAG); assertEquals(1, view.getElements().size()); assertEquals(webApplication, view.getElements().iterator().next().getElement()); }
@Test public void test_remove_RemovesContainer() { Container webApplication = softwareSystem.addContainer("Web Application", "", ""); Container database = softwareSystem.addContainer("Database", "", ""); view.addAllContainers(); assertEquals(2, view.getElements().size()); view.remove(webApplication); assertEquals(1, view.getElements().size()); assertTrue(view.getElements().contains(new ElementView(database))); }
@Test public void test_addAllContainers_AddsAllContainers_WhenThereAreSomeContainers() { Container webApplication = softwareSystem.addContainer("Web Application", "Does something", "Apache Tomcat"); Container database = softwareSystem.addContainer("Database", "Does something", "MySQL"); view.addAllContainers(); assertEquals(2, view.getElements().size()); assertTrue(view.getElements().contains(new ElementView(webApplication))); assertTrue(view.getElements().contains(new ElementView(database))); }
containerView.addAllPeople(); containerView.addAllSoftwareSystems(); containerView.addAllContainers();
@Test public void test_remove_RelationshipWithTag() { final String TAG = "myTag"; Container webApplication = softwareSystem.addContainer("Web Application", "", ""); Container database = softwareSystem.addContainer("Database", "", ""); webApplication.uses(database, "").addTags(TAG); view.addAllContainers(); assertEquals(2, view.getElements().size()); assertEquals(1, view.getRelationships().size()); view.removeRelationshipsWithTag(TAG); assertEquals(2, view.getElements().size()); assertEquals(0, view.getRelationships().size()); }
@Test public void test_addDependentSoftwareSystem2() { Container container1a = softwareSystem.addContainer("Container 1A", "", ""); SoftwareSystem softwareSystem2 = model.addSoftwareSystem(Location.External, "SoftwareSystem 2", ""); Container container2a = softwareSystem2.addContainer("Container 2-A", "", ""); container2a.uses(container1a, ""); model.addImplicitRelationships(); view.addDependentSoftwareSystems(); view.addAllContainers(); assertEquals(2, view.getElements().size()); assertEquals(1, view.getRelationships().size()); } }
containerView.addAllPeople(); containerView.addAllSoftwareSystems(); containerView.addAllContainers();
containerView.addAllContainers(); containerView.add(mainframeBankingSystem); containerView.add(emailSystem);
containerView.addAllSoftwareSystems(); containerView.addAllPeople(); containerView.addAllContainers();