Map<String, MajorIssueConfig> majorIssueTypes = computeMajorIssueConfigs(table); return Metrics.builder() .setAggregations(columnAggregationResults) .setEmptyColumns(emptyColumns) .setMajorIssueConfigs(majorIssueTypes) .setNumExcludedRows(numExcludedRows) .setNumRows(numRows) .build();
public static @Nonnull Builder builder() { return new Builder(); }
.setMetrics( Metrics.builder() .setAggregations( ImmutableMap.of( columnName, issueColumnName, ImmutableMap.of(Aggregation.MAX, severity))) .setMajorIssueConfigs( ImmutableMap.of( major, ImmutableMap.of( minor, new MinorIssueConfig(minor, severity, null))))) .setNumExcludedRows(1) .setNumRows(1) .build()) .setStatus(AnswerStatus.SUCCESS) .build()));
.setMetrics( Metrics.builder() .setAggregations( ImmutableMap.of("A", ImmutableMap.of(Aggregation.MAX, 1))) .setNumRows(2) .build()) .setStatus(AnswerStatus.SUCCESS) .build())); .setMetrics( Metrics.builder() .setAggregations( ImmutableMap.of("A", ImmutableMap.of(Aggregation.MAX, 1))) .setNumRows(2) .build()) .setStatus(AnswerStatus.SUCCESS) .build())); .setMetrics( Metrics.builder() .setAggregations( ImmutableMap.of("A", ImmutableMap.of(Aggregation.MAX, 1))) .setNumRows(2) .build()) .setStatus(AnswerStatus.SUCCESS) .build()));
@Test public void testEquals() { Metrics.Builder builder = Metrics.builder(); Metrics group1Elem1 = builder.build(); Metrics group1Elem2 = builder.build(); Metrics group2Elem1 = builder .setAggregations(ImmutableMap.of("a", ImmutableMap.of(Aggregation.MAX, "A"))) .build(); Metrics group3Elem1 = builder.setEmptyColumns(ImmutableSet.of("b")).build(); Metrics group4Elem1 = builder .setMajorIssueConfigs( ImmutableMap.of("c", new MajorIssueConfig("m", ImmutableList.of()))) .build(); Metrics group5Elem1 = builder.setNumExcludedRows(5).build(); Metrics group6Elem1 = builder.setNumRows(3).build(); new EqualsTester() .addEqualityGroup(group1Elem1, group1Elem2) .addEqualityGroup(group2Elem1) .addEqualityGroup(group3Elem1) .addEqualityGroup(group4Elem1) .addEqualityGroup(group5Elem1) .addEqualityGroup(group6Elem1) .testEquals(); } }
@Test public void testComputeAnswerMetadataInapplicable() throws IOException { String columnName = "col"; List<Integer> value = ImmutableList.of(5); Answer testAnswer = new Answer(); testAnswer.addAnswerElement( new TableAnswerElement( new TableMetadata( ImmutableList.of( new ColumnMetadata(columnName, Schema.list(Schema.INTEGER), "foobar")), new DisplayHints().getTextDesc())) .addRow(Row.of(columnName, value))); testAnswer.setStatus(AnswerStatus.SUCCESS); assertThat( AnswerMetadataUtil.computeAnswerMetadata(testAnswer, _logger), equalTo( AnswerMetadata.builder() .setMetrics(Metrics.builder().setNumRows(1).build()) .setStatus(AnswerStatus.SUCCESS) .build())); }
@Test public void testEquals() { AnswerMetadata.Builder builder = AnswerMetadata.builder().setStatus(AnswerStatus.SUCCESS); AnswerMetadata group1Elem1 = builder.build(); AnswerMetadata group1Elem2 = builder.build(); AnswerMetadata group1Elem3 = AnswerMetadata.forStatus(AnswerStatus.SUCCESS); AnswerMetadata group2Elem1 = builder.setMetrics(Metrics.builder().setNumRows(5).build()).build(); AnswerMetadata group3Elem1 = builder.setStatus(AnswerStatus.FAILURE).build(); new EqualsTester() .addEqualityGroup(group1Elem1, group1Elem2, group1Elem3) .addEqualityGroup(group2Elem1) .addEqualityGroup(group3Elem1) .testEquals(); } }