Repository: microsoft/gctoolkit
File: IT/src/test/java/com/microsoft/gctoolkit/integration/ZeroAggregationTest.java (Java)

Code before:
    @Test
    public void testNoAggregationRegistered() {
        Path path = new TestLogFile("cms/defnew/details/defnew.log").getFile().toPath();
        /*
         * GC log files can come in  one of two types: single or series of rolling logs.
         * In this sample, we load a single log file.
         * The log files can be either in text, zip, or gzip format.
         */
        GCLogFile logFile = new SingleGCLogFile(path);
        GCToolKit gcToolKit = new GCToolKit();
        /* Do not call GCToolKit::loadAggregationsFromServiceLoader */
        JavaVirtualMachine machine = null;
        try {
            machine = gcToolKit.analyze(logFile);
        } catch (IOException e) {
            fail(e.getMessage());
        }

        // Retrieves the Aggregation for HeapOccupancyAfterCollectionSummary. This is a time-series aggregation.
        Assertions.assertTrue(machine.getAggregation(HeapOccupancyAfterCollectionSummary.class).isEmpty());
        Assertions.assertTrue(machine.getAggregation(CollectionCycleCountsSummary.class).isEmpty());
    }

    @Test
    public void testSuppliedAggregation() {
        Path path = new TestLogFile("cms/defnew/details/defnew.log").getFile().toPath();        /*
         * GC log files can come in  one of two types: single or series of rolling logs.
         * In this sample, we load a single log file.
         * The log files can be either in text, zip, or gzip format.
         */
        GCLogFile logFile = new SingleGCLogFile(path);
        GCToolKit gcToolKit = new GCToolKit();
        /* Load our local Aggregation that will not registered for the given log file */
        gcToolKit.registerAggregation(new ZeroAggregationTest.TestAggregation());
        JavaVirtualMachine machine = null;
        try {
            machine = gcToolKit.analyze(logFile);
        } catch (IOException e) {
            fail(e.getMessage());
        }

        // Retrieves the Aggregation for HeapOccupancyAfterCollectionSummary. This is a time-series aggregation.
        Assertions.assertTrue(machine.getAggregation(ZeroAggregationTest.TestAggregation.class).isEmpty());

    }

    @Collates(ZeroAggregationTest.TestAggregator.class)
    public static class TestAggregation extends Aggregation {

        @Override
        public boolean hasWarning() {

Review comment (suggestion):
```suggestion
        Path path = new TestLogFile("cms/defnew/details/defnew.log").getFile().toPath();
        /*
```

Code after:
    @Test
    public void testNoAggregationRegistered() {
        Path path = new TestLogFile("cms/defnew/details/defnew.log").getFile().toPath();
        /*
         * GC log files can come in  one of two types: single or series of rolling logs.
         * In this sample, we load a single log file.
         * The log files can be either in text, zip, or gzip format.
         */
        GCLogFile logFile = new SingleGCLogFile(path);
        GCToolKit gcToolKit = new GCToolKit();
        // Do not call GCToolKit::loadAggregationsFromServiceLoader
        JavaVirtualMachine machine = null;
        try {
            machine = gcToolKit.analyze(logFile);
        } catch (IOException e) {
            fail(e.getMessage());
        }

        // Retrieves the Aggregation for HeapOccupancyAfterCollectionSummary. This is a time-series aggregation.
        Assertions.assertTrue(machine.getAggregation(HeapOccupancyAfterCollectionSummary.class).isEmpty());
        Assertions.assertTrue(machine.getAggregation(CollectionCycleCountsSummary.class).isEmpty());
    }

    @Test
    public void testSuppliedAggregation() {
        Path path = new TestLogFile("cms/defnew/details/defnew.log").getFile().toPath();
        /*
         * GC log files can come in  one of two types: single or series of rolling logs.
         * In this sample, we load a single log file.
         * The log files can be either in text, zip, or gzip format.
         */
        GCLogFile logFile = new SingleGCLogFile(path);
        GCToolKit gcToolKit = new GCToolKit();
        // Load our local Aggregation that will not registered for the given log file
        gcToolKit.registerAggregation(new ZeroAggregationTest.TestAggregation());
        JavaVirtualMachine machine = null;
        try {
            machine = gcToolKit.analyze(logFile);
        } catch (IOException e) {
            fail(e.getMessage());
        }

        // Retrieves the Aggregation for HeapOccupancyAfterCollectionSummary. This is a time-series aggregation.
        Assertions.assertTrue(machine.getAggregation(ZeroAggregationTest.TestAggregation.class).isEmpty());

    }

    @Collates(ZeroAggregationTest.TestAggregator.class)
    public static class TestAggregation extends Aggregation {

        @Override