@Test
public void getDetailStatisticsBinary(){

	Row[] rows =
		new Row[] {
			Row.of("prefix1", "{\"prefix1\": 0.9, \"prefix0\": 0.1}"),
			Row.of("prefix1", "{\"prefix1\": 0.8, \"prefix0\": 0.2}"),
			Row.of("prefix1", "{\"prefix1\": 0.7, \"prefix0\": 0.3}"),
			Row.of("prefix0", "{\"prefix1\": 0.75, \"prefix0\": 0.25}"),
			Row.of("prefix0", "{\"prefix1\": 0.6, \"prefix0\": 0.4}"),
			Row.of(null, "{\"prefix1\": 0.75, \"prefix0\": 0.25}"),
		};
	BaseMetricsSummary baseMetric = getDetailStatistics(Arrays.asList(rows), null, true, Types.STRING);
	assertBinaryMetrics(baseMetric);
	Map<Object, Integer> map = new HashMap<>();
	map.put("prefix0", 1);
	map.put("prefix1", 0);
	baseMetric = getDetailStatistics(Arrays.asList(rows), true, Tuple2.of(map, new Object[]{"prefix1", "prefix0"}), Types.STRING);
	assertBinaryMetrics(baseMetric);
	baseMetric = getDetailStatistics(Arrays.asList(rows), "prefix0", true, Types.STRING);
	Assert.assertTrue(baseMetric instanceof BinaryMetricsSummary);
	BinaryMetricsSummary metrics = (BinaryMetricsSummary) baseMetric;
	Assert.assertArrayEquals(new Object[] {"prefix0", "prefix1"}, metrics.labels);
	thrown.expect(RuntimeException.class);
	thrown.expectMessage("Not contain positiveValue");
	getDetailStatistics(Arrays.asList(rows), "0", true, Types.STRING);
}