private static void matchJasmineFileStructures( @NotNull JasmineFileStructure jasmineFileStructure, @NotNull MarkedJasmineFileStructure markedJasmineFileStructure) { Collection<MarkedJasmineSuiteStructure> markedJasmineSuiteStructures = markedJasmineFileStructure.getInnerSuiteStructures(); for (MarkedJasmineSuiteStructure markedJasmineSuiteStructure : markedJasmineSuiteStructures) { JasmineSuiteStructure jasmineSuiteStructure = jasmineFileStructure.findTopLevelSuiteByName(markedJasmineSuiteStructure.getName()); if (jasmineSuiteStructure == null) { Assert.fail( "Can't find automatically collected Jasmine suite with name '" + markedJasmineSuiteStructure.getName() + "'!"); } matchJasmineSuites(jasmineSuiteStructure, markedJasmineSuiteStructure); } if (jasmineFileStructure.getTopLevelSuiteCount() != markedJasmineSuiteStructures.size()) { Assert.fail( "Marked Jasmine suite count is " + markedJasmineSuiteStructures.size() + ", but automatically collected Jasmine suite count is " + jasmineFileStructure.getTopLevelSuiteCount()); } }
private static void matchJasmineSuites( @NotNull JasmineSuiteStructure jasmineSuiteStructure, @NotNull MarkedJasmineSuiteStructure markedJasmineSuiteStructure) { Assert.assertEquals(jasmineSuiteStructure.getName(), markedJasmineSuiteStructure.getName()); Assert.assertEquals( jasmineSuiteStructure.getEnclosingCallExpression(), markedJasmineSuiteStructure.getPsiElement()); Collection<MarkedJasmineSuiteStructure> innerMarkedSuiteStructures = markedJasmineSuiteStructure.getInnerSuiteStructures(); for (MarkedJasmineSuiteStructure innerMarkedSuiteStructure : innerMarkedSuiteStructures) { JasmineSuiteStructure innerSuiteStructure = jasmineSuiteStructure.getInnerSuiteByName(innerMarkedSuiteStructure.getName()); if (innerSuiteStructure == null) { Assert.fail( "Can't find automatically collected Jasmine suite with name '" + innerMarkedSuiteStructure.getName() + "'!"); } matchJasmineSuites(innerSuiteStructure, innerMarkedSuiteStructure); } Assert.assertEquals( "Checking inner suite count of '" + jasmineSuiteStructure.getName() + "' suite", innerMarkedSuiteStructures.size(), jasmineSuiteStructure.getSuiteChildrenCount()); Collection<MarkedJasmineSpecStructure> innerMarkedSpecStructures = markedJasmineSuiteStructure.getInnerSpecStructures(); for (MarkedJasmineSpecStructure innerMarkedSpecStructure : innerMarkedSpecStructures) { JasmineSpecStructure innerSpecStructure = jasmineSuiteStructure.getInnerSpecByName(innerMarkedSpecStructure.getName()); if (innerSpecStructure == null) { Assert.fail( "Can't find automatically collected Jasmine spec with name '" + innerMarkedSpecStructure.getName() + "'!"); } matchJasmineSpecs(innerSpecStructure, innerMarkedSpecStructure); } Assert.assertEquals( "Checking inner spec count of '" + jasmineSuiteStructure.getName() + "' suite", innerMarkedSpecStructures.size(), jasmineSuiteStructure.getSpecCount()); }