// Method that checks for 2 decimal places in above function public boolean checkDecimalPlaces(double d, int decimalPlaces) { if (d == 0) return true; double multiplier = Math.pow(10, decimalPlaces); double check = d * multiplier; check = Math.round(check); check = check / multiplier; return (d == check); }
// ODI6.x-627:generate cssr report with valid filters and check the number if they are reasonable public void cssrNumbers() { int CallVolumeValue = 0, TransfersValue = 0, PeakHourValue = 0; double roundOff = 0, AverageCallValue = 0; String dmName = "US_AIRWAYS"; gotoreports(dmName); pickAvalidDate(); try { new WebDriverWait(driver, 10) .until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("reportContent")); WebElement page = new WebDriverWait(driver, 10) .until(ExpectedConditions.visibilityOfElementLocated(By.id("CrystalViewer"))); List<WebElement> check = page.findElements(By.tagName("span")); for (int i = 0; i < check.size(); i++) { String content = (check.get(i).getText()); if (content.equals("Call Volume")) { String CallVolume = (check.get(i + 1).getText()); String[] CallVolumes = CallVolume.split("\\s"); CallVolumeValue = Integer.parseInt(CallVolumes[1]); System.out.println(CallVolumeValue); } else if (content.equals("Transfers (All)")) { String TransfersAll = (check.get(i + 1).getText()); String[] Tvalues = TransfersAll.split("\\s"); TransfersValue = Integer.parseInt(Tvalues[1]); System.out.println(TransfersValue); } else if (content.equals("Peak Hour Call Volume")) { String PeakHourCallVolume = (check.get(i + 1).getText()); String[] PeakHourCallValues = PeakHourCallVolume.split("\\s"); PeakHourValue = Integer.parseInt(PeakHourCallValues[1]); } else if (content.equals("Call Duration (minutes)")) { String CallDuration = (check.get(i + 1).getText()); String[] CallDurationValues = CallDuration.split("\\s"); double CallDurationValue = Double.parseDouble(CallDurationValues[1]); double x = CallDurationValue / CallVolumeValue; roundOff = Math.round(x * 100.0) / 100.0; } else if (content.equals("Average Call Duration (minutes)")) { String AverageCallDuration = (check.get(i + 1).getText()); String[] AverageCallDurationValues = AverageCallDuration.split("\\s"); AverageCallValue = Double.parseDouble(AverageCallDurationValues[1]); } } try { if (CallVolumeValue >= TransfersValue) { logger.info("the call volume is greater than the Transfer"); System.out.println("CallVolumeValue >= TransfersValue"); } if (PeakHourValue <= CallVolumeValue) { System.out.println("PeakHourValue <= CallVolumeValue"); } if (AverageCallValue == roundOff) { System.out.println("Average Call Duration =Call Duration (minutes)/Call Volume"); } } catch (Exception e) { e.printStackTrace(); } ReportFile.addTestCase( "ODI6.x-627:CSSR numbers must be reasonable", "ODI6.x-627:CSSR numbers must be reasonable => Pass"); } catch (Exception e) { e.printStackTrace(); } ReportFile.WriteToFile(); driver.quit(); }