@Test
		void addAndRemoveSupportingResource() {
			WorkspaceResource primary = new WorkspaceResourceBuilder().build();
			Workspace workspace = new BasicWorkspace(primary);

			// No supporting resources by default
			assertTrue(workspace.getSupportingResources().isEmpty());

			// Add a listener
			WorkspaceModificationListener listener = mock(WorkspaceModificationListener.class);
			workspace.addWorkspaceModificationListener(listener);

			// Add a supporting resource
			WorkspaceResource supporting = new WorkspaceResourceBuilder().build();
			workspace.addSupportingResource(supporting);

			// The listener should be called, and we should see it in the list
			verify(listener).onAddLibrary(same(workspace), same(supporting));
			assertEquals(1, workspace.getSupportingResources().size());

			// Same idea in reverse
			assertTrue(workspace.removeSupportingResource(supporting));
			verify(listener).onRemoveLibrary(same(workspace), same(supporting));
			assertTrue(workspace.getSupportingResources().isEmpty());
		}
Tests for the {@link Workspace} model.
recaf-core/src/test/java/software/coley/recaf/workspace/model/WorkspaceModelTest.java