NetworkModel { public static Hypergraph<Treatment, Study> createStudyGraph(Network network) { Hypergraph<Treatment, Study> graph = new SetHypergraph<Treatment, Study>(); for (Treatment t : network.getTreatments()) { graph.addVertex(t); } for (Study s : network.getStudies()) { graph.addEdge(s, s.getTreatments()); } return graph ; }  static Hypergraph<Treatment, Study> createStudyGraph(Network network); static UndirectedGraph<Treatment, FoldedEdge<Treatment, Study>> createComparisonGraph(Network network); static UndirectedGraph<Treatment, FoldedEdge<Treatment, Study>> createComparisonGraph(Hypergraph<Treatment, Study> studyGraph); static DirectedGraph<Treatment, FoldedEdge<Treatment, Study>> toDirected(UndirectedGraph<Treatment, FoldedEdge<Treatment, Study>> ug); static Measurement findMeasurement(final Study study, final Treatment treatment); static List<Treatment> getTreatments(final Study study); static List<O> transformTreatmentPairs(Network network, Transformer<Pair<Treatment>, ? extends O> transformer);  }
@Test public void testStudyGraphEmpty() { Network network = new Network(); Hypergraph<Treatment, Study> graph = NetworkModel.createStudyGraph(network); assertEquals(0, graph.getVertexCount()); assertEquals(0, graph.getEdgeCount()); }