Report implements Iterable<RuleViolation> { @Deprecated public boolean hasMetrics() { return !metrics.isEmpty(); }  static Report createReport(RuleContext ctx, String fileName); void suppress(Map<Integer, String> lines); @Deprecated Map<String, Integer> getCountSummary(); @Deprecated ReportTree getViolationTree(); @Deprecated Map<String, Integer> getSummary(); void addListener(ThreadSafeReportListener listener); @Deprecated List<SuppressedViolation> getSuppressedRuleViolations(); void addRuleViolation(RuleViolation violation); @Deprecated void addMetric(Metric metric); void addConfigError(ConfigurationError error); void addError(ProcessingError error); void merge(Report r); @Deprecated boolean hasMetrics(); @Deprecated Iterator<Metric> metrics(); @Deprecated boolean isEmpty(); @Deprecated boolean hasErrors(); @Deprecated boolean hasConfigErrors(); @Deprecated boolean treeIsEmpty(); @Deprecated Iterator<RuleViolation> treeIterator(); @Deprecated @Override Iterator<RuleViolation> iterator(); final List<SuppressedViolation> getSuppressedViolations(); final List<RuleViolation> getViolations(); final List<ProcessingError> getProcessingErrors(); final List<ConfigurationError> getConfigurationErrors(); @Deprecated Iterator<ProcessingError> errors(); @Deprecated Iterator<ConfigurationError> configErrors(); @Deprecated int treeSize(); @Deprecated int size(); @Deprecated void start(); @Deprecated void end(); @Deprecated long getElapsedTimeInMillis(); List<ThreadSafeReportListener> getListeners(); void addListeners(List<ThreadSafeReportListener> allListeners);  }
@Test public void testMetric0() { Report r = new Report(); assertFalse("Default report shouldn't contain metrics", r.hasMetrics()); }