private void assertLva(ControlFlowGraph actualCfg, LiveVariablesAnalysis actualLva) { debugDotNotation = CfgPrinter.toDot(actualCfg); assertThat(actualCfg.blocks()) .withFailMessage(buildDebugMessage("size", "CFG")) .hasSize(expectedCfg.size()); for (CfgBlock actualBlock : actualCfg.blocks()) { if (actualBlock.equals(actualCfg.end())) { continue; } String blockTestId = expectedCfg.testId(actualBlock); LiveVariablesAnalysis.LiveVariables actualLiveVariables = actualLva.getLiveVariables(actualBlock); assertVariablesAreEqual("Gen Variables", actualLiveVariables.getGen(), expectedCfg.expectedGenVariables(actualBlock), blockTestId); assertVariablesAreEqual("Killed Variables", actualLiveVariables.getKill(), expectedCfg.expectedKilledVariables(actualBlock), blockTestId); assertVariablesAreEqual("Live In Variables", actualLiveVariables.getIn(), expectedCfg.expectedLiveInVariables(actualBlock), blockTestId); assertVariablesAreEqual("Live Out Variables", actualLiveVariables.getOut(), expectedCfg.expectedLiveOutVariables(actualBlock), blockTestId); } }