@Test public void testCycleSimpleGraph() { ViewProcessorTestEnvironment env = new ViewProcessorTestEnvironment(); env.init(); CompiledViewDefinitionWithGraphsImpl compiledViewDefinition = env.compileViewDefinition(Instant.now(), VersionCorrection.LATEST); DependencyGraph graph = compiledViewDefinition.getDependencyGraph( ViewProcessorTestEnvironment.TEST_CALC_CONFIG_NAME); DependencyGraph cycledGraph = cycleObject(DependencyGraph.class, graph); assertEquals( graph.getCalculationConfigurationName(), cycledGraph.getCalculationConfigurationName()); assertEquals(graph.getAllComputationTargets(), cycledGraph.getAllComputationTargets()); assertEquals(graph.getOutputSpecifications(), cycledGraph.getOutputSpecifications()); assertEquals(graph.getSize(), cycledGraph.getSize()); assertEquals( graph.getTerminalOutputSpecifications(), cycledGraph.getTerminalOutputSpecifications()); for (DependencyNode node : graph.getDependencyNodes()) { boolean isRoot = graph.getRootNodes().contains(node); for (ValueSpecification spec : node.getOutputValues()) { DependencyNode equivalentNode = cycledGraph.getNodeProducing(spec); assertEquals(isRoot, cycledGraph.getRootNodes().contains(equivalentNode)); assertEquals(node.getInputValues(), equivalentNode.getInputValues()); assertEquals(node.getOutputValues(), equivalentNode.getOutputValues()); assertEquals(node.getTerminalOutputValues(), equivalentNode.getTerminalOutputValues()); } } }