diff --git a/unicode/src/main/java/systems/uom/unicode/CLDR.java b/unicode/src/main/java/systems/uom/unicode/CLDR.java index cb563a3..fc7ee8e 100644 --- a/unicode/src/main/java/systems/uom/unicode/CLDR.java +++ b/unicode/src/main/java/systems/uom/unicode/CLDR.java @@ -29,6 +29,7 @@ */ package systems.uom.unicode; +import static javax.measure.BinaryPrefix.*; import static javax.measure.MetricPrefix.*; import static tech.units.indriya.unit.Units.CUBIC_METRE; import static tech.units.indriya.unit.Units.METRE; @@ -67,7 +68,7 @@ * * @author Werner Keil * @see Unicode CLDR - * @version 2.6, Jul 1, 2025 + * @version 2.7, Mar 18, 2026 */ public final class CLDR extends AbstractSystemOfUnits { @@ -926,6 +927,76 @@ public static CLDR getInstance() { */ public static final Unit BYTE = addUnit(BIT.multiply(8), "Byte", "byte"); + /** + * Constant for unit of data amount: kilobyte
+ * This is a convenience method for KILO(BYTE). + * + * @stable ICU 54 + */ + public static final Unit KILOBYTE = addUnit(KILO(BYTE), "Kilobyte", "kB", true); + + /** + * Constant for unit of data amount: kibibyte
+ * This is a convenience method for KIBI(BYTE). + */ + public static final Unit KIBIBYTE = addUnit(KIBI(BYTE), "Kibibyte", "KiB", true); + + /** + * Constant for unit of data amount: megabyte
+ * This is a convenience method for MEGA(BYTE). + * + * @stable ICU 54 + */ + public static final Unit MEGABYTE = addUnit(MEGA(BYTE), "Megabyte", "MB", true); + + /** + * Constant for unit of data amount: mebibyte
+ * This is a convenience method for MEBI(BYTE). + */ + public static final Unit MEBIBYTE = addUnit(MEBI(BYTE), "Mebibyte", "MiB", true); + + /** + * Constant for unit of data amount: gigabyte
+ * This is a convenience method for GIGA(BYTE). + * + * @stable ICU 54 + */ + public static final Unit GIGABYTE = addUnit(GIGA(BYTE), "Gigabyte", "GB", true); + + /** + * Constant for unit of data amount: gibibyte
+ * This is a convenience method for GIBI(BYTE). + */ + public static final Unit GIBIBYTE = addUnit(GIBI(BYTE), "Gibibyte", "GiB", true); + + /** + * Constant for unit of data amount: terabyte
+ * This is a convenience method for TERA(BYTE). + * + * @stable ICU 54 + */ + public static final Unit TERABYTE = addUnit(TERA(BYTE), "Terabyte", "TB", true); + + /** + * Constant for unit of data amount: tebibyte
+ * This is a convenience method for TEBI(BYTE). + */ + public static final Unit TEBIBYTE = addUnit(TEBI(BYTE), "Tebibyte", "TiB", true); + + /** + * Constant for unit of data amount: petabyte
+ * This is a convenience method for PETA(BYTE). + * + * @stable ICU 63 + */ + public static final Unit PETABYTE = addUnit(PETA(BYTE), "Petabyte", "PB", true); + + /** + * Constant for unit of data amount: pebibyte
+ * This is a convenience method for PEBI(BYTE). + */ + public static final Unit PEBIBYTE = addUnit(PEBI(BYTE), "Pebibyte", "PiB", true); + /** * The unit for binary information rate (standard name bit/s). * diff --git a/unicode/src/test/java/systems/uom/unicode/CLDRTest.java b/unicode/src/test/java/systems/uom/unicode/CLDRTest.java index 05e946a..09a470e 100644 --- a/unicode/src/test/java/systems/uom/unicode/CLDRTest.java +++ b/unicode/src/test/java/systems/uom/unicode/CLDRTest.java @@ -57,7 +57,11 @@ public void testToString() { assertEquals("in-hg", INCH_HG.toString()); assertEquals("dct", DECI(CARAT).toString()); assertEquals("st", STONE.toString()); - assertEquals("Kist", KIBI(STONE).toString()); + assertEquals("Kist", KIBI(STONE).toString()); + assertEquals("kB", KILOBYTE.toString()); + assertEquals("KiB", KIBIBYTE.toString()); + assertEquals("MB", MEGABYTE.toString()); + assertEquals("MiB", MEBIBYTE.toString()); } @Test @@ -72,6 +76,8 @@ public void testGetSymbol() { public void testGetName() { assertEquals("Kilometer", KILOMETER.getName()); assertEquals("Gram", GRAM.getName()); + assertEquals("Kilobyte", KILOBYTE.getName()); + assertEquals("Kibibyte", KIBIBYTE.getName()); } @Test @@ -85,6 +91,8 @@ public void testConvert() { public void testParse() { assertEquals(KILOGRAM, AbstractUnit.parse("kg")); assertEquals(CARAT, AbstractUnit.parse("ct")); - assertEquals(DECI(METRE), AbstractUnit.parse("dm")); + assertEquals(DECI(METRE), AbstractUnit.parse("dm")); + assertEquals(KILOBYTE, AbstractUnit.parse("kB")); + assertEquals(KIBIBYTE, AbstractUnit.parse("KiB")); } }