test_class.file: animations/src/test/java/com/chiralbehaviors/CoRE/meta/models/SccTest.java
test_class.identifier: SccTest
test_case.body: @Test
      public void testScc() {
          Map<StatusCode, List<StatusCode>> graph = new HashMap<StatusCode, List<StatusCode>>();
          StatusCode[] codes = new StatusCode[] { new StatusCode(new UUID(0, 1)),
                                                  new StatusCode(new UUID(0, 2)),
                                                  new StatusCode(new UUID(0, 3)),
                                                  new StatusCode(new UUID(0, 4)),
                                                  new StatusCode(new UUID(0, 5)),
                                                  new StatusCode(new UUID(0, 6)),
                                                  new StatusCode(new UUID(0, 7)),
                                                  new StatusCode(new UUID(0, 8)),
                                                  new StatusCode(new UUID(0,
                                                                          9)) };
          graph.put(codes[0], asList(codes[1]));
          graph.put(codes[1], asList(codes[2]));
          graph.put(codes[2], asList(codes[0], codes[6]));
          graph.put(codes[3], asList(codes[4]));
          graph.put(codes[4], asList(codes[5], codes[6]));
          graph.put(codes[5], asList(codes[3]));
          graph.put(codes[6], asList(codes[7]));
          graph.put(codes[7], asList(codes[8]));
          graph.put(codes[8], asList(codes[6]));
          List<StatusCode[]> sccs = new SCC(graph).getStronglyConnectedComponents();
          assertNotNull(sccs);
          assertEquals(3, sccs.size());
          Comparator<StatusCode> scComparator = new Comparator<StatusCode>() {
  
              @Override
              public int compare(StatusCode o1, StatusCode o2) {
                  return o1.getId()
                           .compareTo(o2.getId());
              }
          };
  
          StatusCode[] expected;
  
          sccs = sccs.stream()
                     .peek(g -> Arrays.sort(g, scComparator))
                     .sorted((a, b) -> a[0].getId()
                                           .compareTo(b[0].getId()))
                     .collect(Collectors.toList());
  
          expected = new StatusCode[] { codes[0], codes[1], codes[2] };
          Arrays.sort(expected, scComparator);
          StatusCode[] got = sccs.get(0);
          assertArrayEquals(expected, got);
  
          expected = new StatusCode[] { codes[4], codes[5], codes[3] };
          Arrays.sort(expected, scComparator);
          got = sccs.get(1);
          assertArrayEquals(expected, got);
  
          expected = new StatusCode[] { codes[6], codes[7], codes[8] };
          Arrays.sort(expected, scComparator);
          got = sccs.get(2);
          assertArrayEquals(expected, got);
      }
test_case.class_method_signature: SccTest.testScc()
test_case.full_signature: @Test public void testScc()
test_case.identifier: testScc
test_case.invocations: put asList put asList put asList put asList put asList put asList put asList put asList put asList getStronglyConnectedComponents assertNotNull assertEquals size compareTo getId getId collect sorted peek stream sort compareTo getId getId toList sort get assertArrayEquals sort get assertArrayEquals sort get assertArrayEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testScc()
focal_class.declarator: graph
focal_class.modifier: private final
focal_class.original_string: private final Map<StatusCode, List<StatusCode>> graph;
focal_class.type: Map<StatusCode, List<StatusCode>>
focal_class.var_name: graph
focal_class.declarator: low    = new HashMap<StatusCode, Integer>()
focal_class.modifier: private final
focal_class.original_string: private final Map<StatusCode, Integer>          low    = new HashMap<StatusCode, Integer>();
focal_class.type: Map<StatusCode, Integer>
focal_class.var_name: low
focal_class.declarator: result = new ArrayList<StatusCode[]>()
focal_class.modifier: private final
focal_class.original_string: private final List<StatusCode[]>                result = new ArrayList<StatusCode[]>();
focal_class.type: List<StatusCode[]>
focal_class.var_name: result
focal_class.declarator: stack  = new ArrayList<StatusCode>()
focal_class.modifier: private
focal_class.original_string: private List<StatusCode>                        stack  = new ArrayList<StatusCode>();
focal_class.type: List<StatusCode>
focal_class.var_name: stack
focal_class.file: animations/src/main/java/com/chiralbehaviors/CoRE/meta/models/SCC.java
focal_class.identifier: SCC
focal_class.class_method_signature: SCC.SCC(Map<StatusCode, List<StatusCode>> graph)
focal_class.full_signature: public  SCC(Map<StatusCode, List<StatusCode>> graph)
focal_class.identifier: SCC
focal_class.modifiers: public
focal_class.parameters: (Map<StatusCode, List<StatusCode>> graph)
focal_class.signature:  SCC(Map<StatusCode, List<StatusCode>> graph)
focal_class.class_method_signature: SCC.getStronglyConnectedComponents()
focal_class.full_signature: public List<StatusCode[]> getStronglyConnectedComponents()
focal_class.identifier: getStronglyConnectedComponents
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<StatusCode[]>
focal_class.signature: List<StatusCode[]> getStronglyConnectedComponents()
focal_class.class_method_signature: SCC.visit(StatusCode statusCode)
focal_class.full_signature: public void visit(StatusCode statusCode)
focal_class.identifier: visit
focal_class.modifiers: public
focal_class.parameters: (StatusCode statusCode)
focal_class.return: void
focal_class.signature: void visit(StatusCode statusCode)
focal_method.body: public SCC(Map<StatusCode, List<StatusCode>> graph) {
          this.graph = graph;
      }
focal_method.class_method_signature: SCC.SCC(Map<StatusCode, List<StatusCode>> graph)
focal_method.full_signature: public  SCC(Map<StatusCode, List<StatusCode>> graph)
focal_method.identifier: SCC
focal_method.modifiers: public
focal_method.parameters: (Map<StatusCode, List<StatusCode>> graph)
focal_method.signature:  SCC(Map<StatusCode, List<StatusCode>> graph)