    @Test
    public void testOperatorMultipathSingleline() {

        Multiset<Node> components = HashMultiset.create();
        components.add(x);
        components.add(y);
        components.add(Library.ADD);
        components.add(Library.SUB);
        Map<AngelixLocation, Multiset<Node>> componentsMap = new HashMap<>();
        componentsMap.put(loc1, components);

        AngelicForest angelicForest = null;
        try {
            InputStream is = this.getClass().getResourceAsStream("af2.json");
            angelicForest = AngelicForest.parse(is);
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        Map<AngelixLocation, Expression> original = new HashMap<>();
        Map<Hole, Expression> args = new HashMap<>();
        args.put((Hole) Library.ADD.getLeft(), Expression.leaf(x));
        args.put((Hole) Library.ADD.getRight(), Expression.leaf(y));
        original.put(loc1, Expression.app(Library.ADD, args));

        Optional<Map<AngelixLocation, Node>> result =
                synthesizer.repair(original, angelicForest, componentsMap, SynthesisLevel.OPERATORS);
        assertTrue(result.isPresent());
        Node node = result.get().get(loc1);
        Assert.assertEquals(new Sub(x, y), node);
    }