@Test(expected = IllegalArgumentException.class) public void testMissingDenominatorRatio() throws Exception { MetricsFactory.getInstance().addRatio("rat", new NumericVariable(5), null); }
@Test public void testEmptyRatio() throws Exception { NumericVariable num = new NumericVariable(null); NumericVariable ord = new NumericVariable(null); MetricsFactory.getInstance().addRatio("rat", num, ord); String json = ((CodahaleMetrics) MetricsFactory.getInstance()).dumpJson(); MetricsTestUtils.verifyMetricsJson(json, MetricsTestUtils.GAUGE, "rat", "NaN"); }
@Test public void testRatioIsCalculatedNonExact() throws Exception { NumericVariable num = new NumericVariable(20); NumericVariable ord = new NumericVariable(3); MetricsFactory.getInstance().addRatio("rat", num, ord); String json = ((CodahaleMetrics) MetricsFactory.getInstance()).dumpJson(); MetricsTestUtils.verifyMetricsJson(json, MetricsTestUtils.GAUGE, "rat", 6.6666d, 1e-4); }
@Test(expected = IllegalArgumentException.class) public void testMissingNumeratorRatio() throws Exception { MetricsFactory.getInstance().addRatio("rat", null, new NumericVariable(5)); }
@Test public void testZeroRatio() throws Exception { NumericVariable num = new NumericVariable(10); NumericVariable ord = new NumericVariable(0); MetricsFactory.getInstance().addRatio("rat", num, ord); String json = ((CodahaleMetrics) MetricsFactory.getInstance()).dumpJson(); MetricsTestUtils.verifyMetricsJson(json, MetricsTestUtils.GAUGE, "rat", "NaN"); }
@Test public void testRatioIsCalculated() throws Exception { NumericVariable num = new NumericVariable(10); NumericVariable ord = new NumericVariable(5); MetricsFactory.getInstance().addRatio("rat", num, ord); String json = ((CodahaleMetrics) MetricsFactory.getInstance()).dumpJson(); MetricsTestUtils.verifyMetricsJson(json, MetricsTestUtils.GAUGE, "rat", 2d); }