/** ジェネリックメソッド。 */ @Test public void generics() { add("com.example.Generic"); add("com.example.ExampleEnum"); ClassLoader loader = start(new BranchOperatorProcessor()); Object factory = create(loader, "com.example.GenericFactory"); MockIn<MockHoge> in = MockIn.of(MockHoge.class, "in"); MockOut<MockHoge> high = MockOut.of(MockHoge.class, "high"); MockOut<MockHoge> middle = MockOut.of(MockHoge.class, "middle"); MockOut<MockHoge> low = MockOut.of(MockHoge.class, "low"); Object branch = invoke(factory, "example", in); high.add(output(MockHoge.class, branch, "high")); middle.add(output(MockHoge.class, branch, "middle")); low.add(output(MockHoge.class, branch, "low")); Graph<String> graph = toGraph(in); assertThat(graph.getConnected("in"), isJust("Generic.example")); assertThat(graph.getConnected("Generic.example"), isJust("high", "middle", "low")); }
/** generic method. */ @Test public void generics() { add("com.example.Generic"); ClassLoader loader = start(new FoldOperatorProcessor()); Object factory = create(loader, "com.example.GenericFactory"); MockIn<MockHoge> in = MockIn.of(MockHoge.class, "in"); MockOut<MockHoge> out = MockOut.of(MockHoge.class, "out"); Object fold = invoke(factory, "example", in, 100); out.add(output(MockHoge.class, fold, "out")); Graph<String> graph = toGraph(in); assertThat(graph.getConnected("in"), isJust("Generic.example")); assertThat(graph.getConnected("Generic.example"), isJust("out")); }