private Double getMemoryStatus(List<String> status) { if (status.get(0) == null || status.get(1) == null) { logWarning("Unable to parse memory status for VIC host"); return 0d; } String[] sp = status.get(1).split(" "); if (sp.length < 2) { logWarning("Unable to parse memory status for VIC host"); return 0d; } double resp = 0; try { resp = ConversionUtil.memoryToBytes(Double.parseDouble(sp[0]), sp[1]); } catch (Exception e) { logWarning("Unable to parse SystemStatus memory units: %s", e.getMessage()); } return resp; }
@Test public void testBinaryMemoryToBytes() throws Exception { assertEquals(2.0, ConversionUtil.memoryToBytes(2, "B"), 0.01); assertEquals(2048.0, ConversionUtil.memoryToBytes(2, "KiB"), 0.01); assertEquals(2097152.0, ConversionUtil.memoryToBytes(2, "MiB"), 0.01); assertEquals(2147483648.0, ConversionUtil.memoryToBytes(2, "GiB"), 0.01); assertEquals(2199023255552.0, ConversionUtil.memoryToBytes(2, "TiB"), 0.01); assertEquals(2251799813685248.0, ConversionUtil.memoryToBytes(2, "PiB"), 0.01); }
@Test public void testDecimalMemoryToBytes() throws Exception { assertEquals(2.0, ConversionUtil.memoryToBytes(2, "B"), 0.01); assertEquals(2000.0, ConversionUtil.memoryToBytes(2, "KB"), 0.01); assertEquals(2000000.0, ConversionUtil.memoryToBytes(2, "MB"), 0.01); assertEquals(2000000000.0, ConversionUtil.memoryToBytes(2, "GB"), 0.01); assertEquals(2000000000000.0, ConversionUtil.memoryToBytes(2, "TB"), 0.01); assertEquals(2000000000000000.0, ConversionUtil.memoryToBytes(2, "PB"), 0.01); }