@Test
    void testNestedExecution() {
        // Make a chain
        List<Searcher> searchers1 = new ArrayList<>();
        searchers1.add(new FillableTestSearcher("searcher1"));
        searchers1.add(new WorkflowSearcher());
        searchers1.add(new TestSearcher("searcher2"));
        searchers1.add(new FillingSearcher());
        searchers1.add(new FillableTestSearcherAtTheEnd("searcher3"));
        Chain<Searcher> chain1 = new Chain<>(new ComponentId("chain1"), searchers1);
        // Execute it
        Query query = new Query("test");
        Result result1 = new Execution(chain1, Execution.Context.createContextStub()).search(query);
        // Verify results
        assertEquals(7, result1.getConcreteHitCount());
        assertNotNull(result1.hits().get("searcher1-1"));
        assertNotNull(result1.hits().get("searcher2-1"));
        assertNotNull(result1.hits().get("searcher3-1"));
        assertNotNull(result1.hits().get("searcher3-1-filled"));
        assertNotNull(result1.hits().get("searcher2-2"));
        assertNotNull(result1.hits().get("searcher3-2"));
        assertNotNull(result1.hits().get("searcher3-2-filled"));
    }
Tests basic search chain execution functionality

@author bratseth
container-search/src/test/java/com/yahoo/search/searchchain/test/ExecutionTestCase.java