@Override public String toString() { final int rows = categories.size() + 2; final List<String> col1 = new ArrayList<>(rows); col1.add("Name"); col1.add("Total"); col1.addAll(categories.keySet()); final int colWidth1 = maxLength(col1); final List<String> col2 = new ArrayList<>(rows); col2.add("Reserved"); col2.add(Memory.formatBytes(total.reserved)); categories.keySet().forEach(name -> col2.add(Memory.formatBytes(categories.get(name).reserved))); final int colWidth2 = maxLength(col2); final List<String> col3 = new ArrayList<>(rows); col3.add("Committed"); col3.add(Memory.formatBytes(total.committed)); categories.keySet().forEach(name -> col3.add(Memory.formatBytes(categories.get(name).committed))); final int colWidth3 = maxLength(col3); final StringBuilder sb = new StringBuilder(); for (int i = 0; i < rows; i++) { sb.append(pad(col1, colWidth1, i)).append(" "); sb.append(pad(col2, colWidth2, i)).append(" "); sb.append(pad(col3, colWidth3, i)).append('\n'); } return sb.toString(); }
@Test public void formatBytes2() { Assert.assertEquals(Memory.formatBytes(20), "20 B"); }
@Test public void formatBytes1() { Assert.assertEquals(Memory.formatBytes(1024), "1.00 KiB"); }
@Test public void formatBytes3() { Assert.assertEquals(Memory.formatBytes(3 * 1024 * 1024), "3.00 MiB"); } }