@Override protected Supplier<ProjectDiagramResource> getContentSupplier() { return () -> getEditorProxy().getContentSupplier().get(); }
@Test public void testGetContentSupplier() { final ProjectDiagram expectedProjectDiagram = mock(ProjectDiagram.class); final ProjectDiagramEditorProxy editorProxy = mock(ProjectDiagramEditorProxy.class); final ProjectDiagramResource expectedResource = new ProjectDiagramResourceImpl(expectedProjectDiagram); doReturn(editorProxy).when(presenter).getEditorProxy(); when(editorProxy.getContentSupplier()).thenReturn(() -> expectedResource); final ProjectDiagramResource actualResource = presenter.getContentSupplier().get(); assertEquals(expectedResource, actualResource); }
@Test public void testProxyContentSupplierWhenNoEditorIsMade() { final Supplier<ProjectDiagramResource> contentSupplier = presenter.editorProxy.getContentSupplier(); final ProjectDiagramResource resource = contentSupplier.get(); assertNotNull(contentSupplier); assertNull(resource); }
@Test public void testProxyContentSupplierWhenStunnerEditorIsMade() { final ProjectDiagramEditorProxy editorProxy = presenter.makeStunnerEditorProxy(); final Supplier<ProjectDiagramResource> contentSupplier = editorProxy.getContentSupplier(); final ProjectDiagram diagram = mock(ProjectDiagram.class); doReturn(diagram).when(presenter).getDiagram(); final ProjectDiagramResource resource = contentSupplier.get(); assertEquals(Optional.of(diagram), resource.projectDiagram()); assertEquals(Optional.empty(), resource.xmlDiagram()); assertEquals(PROJECT_DIAGRAM, resource.getType()); }
@Test public void testProxyContentSupplierWhenXmlEditorIsMade() { final ProjectDiagramEditorProxy editorProxy = presenter.makeXmlEditorProxy(); final Supplier<ProjectDiagramResource> contentSupplier = editorProxy.getContentSupplier(); final String content = "<xml>"; when(xmlEditorView.getContent()).thenReturn(content); final ProjectDiagramResource resource = contentSupplier.get(); assertEquals(Optional.empty(), resource.projectDiagram()); assertEquals(Optional.of(content), resource.xmlDiagram()); assertEquals(XML_DIAGRAM, resource.getType()); }