package edu.asu.spring.quadriga.service.publicwebsite.impl; import static org.junit.Assert.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.MockitoAnnotations; import edu.asu.spring.quadriga.domain.IConceptStats; import edu.asu.spring.quadriga.domain.impl.ConceptStats; import edu.asu.spring.quadriga.domain.impl.networks.Network; import edu.asu.spring.quadriga.domain.network.INetwork; import edu.asu.spring.quadriga.exceptions.QuadrigaStorageException; import edu.asu.spring.quadriga.service.network.INetworkTransformationManager; import edu.asu.spring.quadriga.service.network.domain.impl.TransformedNetwork; import edu.asu.spring.quadriga.transform.Node; public class ProjectStatsTest { @Mock private INetworkTransformationManager mockedTransformationManager = Mockito .mock(INetworkTransformationManager.class); @InjectMocks private ProjectStats projectStatsUnderTest; private List<IConceptStats> mockedConceptStatsList; private List<INetwork> mockedNetworkList; @Before public void setUp() throws QuadrigaStorageException { MockitoAnnotations.initMocks(this); Network network1 = new Network(); network1.setNetworkId("id"); network1.setNetworkName("test network"); Network network2 = new Network(); network2.setNetworkId("id2"); network2.setNetworkName("test network2"); mockedNetworkList = new ArrayList<INetwork>(); mockedNetworkList.add(network1); mockedNetworkList.add(network2); Map<String, Node> nodes = new HashMap<String, Node>(); Node n1 = new Node(); n1.setConceptId("url1"); Node n2 = new Node(); n2.setConceptId("url1"); nodes.put("1", n1); nodes.put("2", n2); TransformedNetwork transformedNetwork1 = new TransformedNetwork(nodes, null); Map<String, Node> nodes2 = new HashMap<String, Node>(); Node nd1 = new Node(); nd1.setConceptId("url1"); Node nd2 = new Node(); nd2.setConceptId("url2"); nodes.put("1", nd1); nodes.put("2", nd2); TransformedNetwork transformedNetwork2 = new TransformedNetwork(nodes2, null); ConceptStats cs1 = new ConceptStats("url1", null, null, 3); ConceptStats cs2 = new ConceptStats("url2", null, null, 1); mockedConceptStatsList = new ArrayList<IConceptStats>(); mockedConceptStatsList.add(cs1); mockedConceptStatsList.add(cs2); Mockito.when(mockedTransformationManager.getTransformedNetwork("id")) .thenReturn(transformedNetwork1); Mockito.when(mockedTransformationManager.getTransformedNetwork("id2")) .thenReturn(transformedNetwork2); } @Test public void getConceptCountTest() throws QuadrigaStorageException { List<IConceptStats> conceptStatsList = projectStatsUnderTest .getConceptCount(mockedNetworkList); assertTrue(conceptStatsList.containsAll(mockedConceptStatsList) && mockedConceptStatsList.containsAll(conceptStatsList)); } @Test public void getSortedConceptCountTest() throws QuadrigaStorageException { assertEquals(mockedConceptStatsList, projectStatsUnderTest.getConceptCount(mockedNetworkList)); } }