package com.jazzautomation.report; import com.jazzautomation.cucumber.Scenario; import java.util.ArrayList; import java.util.List; public class ScenarioResult extends ResultBase { private Scenario scenario; private double successRate = 1.0; private List<ActionResult> actionResults = new ArrayList<>(); private List<ExpectationResult> expectResults = new ArrayList<>(); private String screenShotPath; public void calculateSuccessRate() { if (actionResults.isEmpty() && expectResults.isEmpty()) { successRate = 1.0; return; } int numFailedResults = 0; for (ActionResult actionResult : actionResults) { if (!actionResult.isSuccess()) { numFailedResults++; } } for (ExpectationResult expectResult : expectResults) { if (!expectResult.isSuccess()) { numFailedResults++; } } if (numFailedResults > 0) { setSuccess(false); } successRate = Math.round((actionResults.size() + expectResults.size() - numFailedResults) / (actionResults.size() + expectResults.size()) * 10000.0) / 10000.0; } public Scenario getScenario() { return scenario; } public void setScenario(Scenario scenario) { this.scenario = scenario; } public double getSuccessRate() { return successRate; } public void setSuccessRate(double successRate) { this.successRate = successRate; } public List<ActionResult> getActionResults() { return actionResults; } public void addActionResult(ActionResult actionResult) { actionResults.add(actionResult); } public void setActionResults(List<ActionResult> actionResults) { this.actionResults = actionResults; } public List<ExpectationResult> getExpectResults() { return expectResults; } public void addExpectResults(ExpectationResult expectResult) { expectResults.add(expectResult); } public void setExpectResults(List<ExpectationResult> expectResults) { this.expectResults = expectResults; } public String getScreenShotPath() { return screenShotPath; } public void setScreenShotPath(String screenShotPath) { this.screenShotPath = screenShotPath; } }