diff --git a/jmh-data-model/src/test/java/com/openelements/benchscape/jmh/model/test/BenchmarkTypeTest.java b/jmh-data-model/src/test/java/com/openelements/benchscape/jmh/model/test/BenchmarkTypeTest.java new file mode 100644 index 00000000..fe955525 --- /dev/null +++ b/jmh-data-model/src/test/java/com/openelements/benchscape/jmh/model/test/BenchmarkTypeTest.java @@ -0,0 +1,23 @@ +package com.openelements.benchscape.jmh.model.test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import com.openelements.benchscape.jmh.model.BenchmarkType; +import org.junit.jupiter.api.Test; + +public class BenchmarkTypeTest { + + @Test + public void testGetReadableName() { + BenchmarkType throughput = BenchmarkType.THROUGHPUT; + assertEquals("Throughput", throughput.getReadableName()); + } + + @Test + public void testEnumValues() { + // You can add more enum values here if needed. + BenchmarkType[] values = BenchmarkType.values(); + assertEquals(1, values.length); + assertEquals(BenchmarkType.THROUGHPUT, values[0]); + } +} diff --git a/jmh-data-model/src/test/java/com/openelements/benchscape/jmh/model/test/BenchmarkUnitTests.java b/jmh-data-model/src/test/java/com/openelements/benchscape/jmh/model/test/BenchmarkUnitTests.java index f5ea2fbb..7525e761 100644 --- a/jmh-data-model/src/test/java/com/openelements/benchscape/jmh/model/test/BenchmarkUnitTests.java +++ b/jmh-data-model/src/test/java/com/openelements/benchscape/jmh/model/test/BenchmarkUnitTests.java @@ -1,19 +1,5 @@ package com.openelements.benchscape.jmh.model.test; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.DAYS_PER_OPERATION; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.HOURS_PER_OPERATION; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.MILLISECONDS_PER_OPERATION; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.MINUTES_PER_OPERATION; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.NANOSECONDS_PER_OPERATION; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.OPERATIONS_PER_DAY; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.OPERATIONS_PER_HOUR; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.OPERATIONS_PER_MILLISECOND; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.OPERATIONS_PER_MINUTE; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.OPERATIONS_PER_NANOSECOND; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.OPERATIONS_PER_SECOND; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.SECONDS_PER_OPERATION; -import static com.openelements.benchscape.jmh.model.BenchmarkUnit.UNKNWOWN; - import com.openelements.benchscape.jmh.model.BenchmarkUnit; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -30,38 +16,71 @@ void testGetForJmhName() { final BenchmarkUnit empty = BenchmarkUnit.getForJmhName(""); final BenchmarkUnit bad = BenchmarkUnit.getForJmhName("bad string"); final BenchmarkUnit opsPerDay = BenchmarkUnit.getForJmhName("ops/day"); - //TODO: Same for all other enum values + final BenchmarkUnit opsPerHour = BenchmarkUnit.getForJmhName("ops/hr"); + final BenchmarkUnit opsPerMinute = BenchmarkUnit.getForJmhName("ops/min"); + final BenchmarkUnit opsPerSecond = BenchmarkUnit.getForJmhName("ops/s"); + final BenchmarkUnit opsPerMillisecond = BenchmarkUnit.getForJmhName("ops/ms"); + final BenchmarkUnit opsPerNanosecond = BenchmarkUnit.getForJmhName("ops/ns"); + final BenchmarkUnit daysPerOperation = BenchmarkUnit.getForJmhName("day/op"); + final BenchmarkUnit hoursPerOperation = BenchmarkUnit.getForJmhName("hr/op"); + final BenchmarkUnit minutesPerOperation = BenchmarkUnit.getForJmhName("min/op"); + final BenchmarkUnit secondsPerOperation = BenchmarkUnit.getForJmhName("s/op"); + final BenchmarkUnit millisecondsPerOperation = BenchmarkUnit.getForJmhName("ms/op"); + final BenchmarkUnit nanosecondsPerOperation = BenchmarkUnit.getForJmhName("ns/op"); + final BenchmarkUnit unknown = BenchmarkUnit.getForJmhName("unknown"); Assertions.assertEquals(BenchmarkUnit.UNKNWOWN, empty); Assertions.assertEquals(BenchmarkUnit.UNKNWOWN, bad); - Assertions.assertEquals(OPERATIONS_PER_DAY, opsPerDay); + Assertions.assertEquals(BenchmarkUnit.OPERATIONS_PER_DAY, opsPerDay); + Assertions.assertEquals(BenchmarkUnit.OPERATIONS_PER_HOUR, opsPerHour); + Assertions.assertEquals(BenchmarkUnit.OPERATIONS_PER_MINUTE, opsPerMinute); + Assertions.assertEquals(BenchmarkUnit.OPERATIONS_PER_SECOND, opsPerSecond); + Assertions.assertEquals(BenchmarkUnit.OPERATIONS_PER_MILLISECOND, opsPerMillisecond); + Assertions.assertEquals(BenchmarkUnit.OPERATIONS_PER_NANOSECOND, opsPerNanosecond); + Assertions.assertEquals(BenchmarkUnit.DAYS_PER_OPERATION, daysPerOperation); + Assertions.assertEquals(BenchmarkUnit.HOURS_PER_OPERATION, hoursPerOperation); + Assertions.assertEquals(BenchmarkUnit.MINUTES_PER_OPERATION, minutesPerOperation); + Assertions.assertEquals(BenchmarkUnit.SECONDS_PER_OPERATION, secondsPerOperation); + Assertions.assertEquals(BenchmarkUnit.MILLISECONDS_PER_OPERATION, millisecondsPerOperation); + Assertions.assertEquals(BenchmarkUnit.NANOSECONDS_PER_OPERATION, nanosecondsPerOperation); + Assertions.assertEquals(BenchmarkUnit.UNKNWOWN, unknown); } @Test void testReadableName() { - Assertions.assertEquals("ops/day", OPERATIONS_PER_DAY.getReadableName()); - - //TODO: Same for all other enum values + Assertions.assertEquals("ops/day", BenchmarkUnit.OPERATIONS_PER_DAY.getReadableName()); + Assertions.assertEquals("ops/hr", BenchmarkUnit.OPERATIONS_PER_HOUR.getReadableName()); + Assertions.assertEquals("ops/min", BenchmarkUnit.OPERATIONS_PER_MINUTE.getReadableName()); + Assertions.assertEquals("ops/s", BenchmarkUnit.OPERATIONS_PER_SECOND.getReadableName()); + Assertions.assertEquals("ops/ms", BenchmarkUnit.OPERATIONS_PER_MILLISECOND.getReadableName()); + Assertions.assertEquals("ops/ns", BenchmarkUnit.OPERATIONS_PER_NANOSECOND.getReadableName()); + Assertions.assertEquals("day/op", BenchmarkUnit.DAYS_PER_OPERATION.getReadableName()); + Assertions.assertEquals("hr/op", BenchmarkUnit.HOURS_PER_OPERATION.getReadableName()); + Assertions.assertEquals("min/op", BenchmarkUnit.MINUTES_PER_OPERATION.getReadableName()); + Assertions.assertEquals("s/op", BenchmarkUnit.SECONDS_PER_OPERATION.getReadableName()); + Assertions.assertEquals("ms/op", BenchmarkUnit.MILLISECONDS_PER_OPERATION.getReadableName()); + Assertions.assertEquals("ns/op", BenchmarkUnit.NANOSECONDS_PER_OPERATION.getReadableName()); + Assertions.assertEquals("unknown", BenchmarkUnit.UNKNWOWN.getReadableName()); } @Test void testConversion() { - Assertions.assertEquals(1.0D, OPERATIONS_PER_DAY.convert(1.0D, OPERATIONS_PER_DAY)); - Assertions.assertEquals(24.0D, OPERATIONS_PER_DAY.convert(1.0D, OPERATIONS_PER_HOUR)); - Assertions.assertEquals(1440.0D, OPERATIONS_PER_DAY.convert(1.0D, OPERATIONS_PER_MINUTE)); - Assertions.assertEquals(86400.0D, OPERATIONS_PER_DAY.convert(1.0D, OPERATIONS_PER_SECOND)); - Assertions.assertEquals(8640.0D, OPERATIONS_PER_DAY.convert(0.0001D, OPERATIONS_PER_MILLISECOND)); - Assertions.assertEquals(8640.0D, OPERATIONS_PER_DAY.convert(0.0000000001D, OPERATIONS_PER_NANOSECOND)); - Assertions.assertEquals(0.1D, OPERATIONS_PER_DAY.convert(10.0D, DAYS_PER_OPERATION)); - Assertions.assertEquals(12.0D, OPERATIONS_PER_DAY.convert(2.0D, HOURS_PER_OPERATION)); - Assertions.assertEquals(720.0D, OPERATIONS_PER_DAY.convert(2.0D, MINUTES_PER_OPERATION)); - Assertions.assertEquals(43200.0D, OPERATIONS_PER_DAY.convert(2.0D, SECONDS_PER_OPERATION)); - Assertions.assertEquals(43200.0D, OPERATIONS_PER_DAY.convert(2000.0D, MILLISECONDS_PER_OPERATION)); - Assertions.assertEquals(4320000.0D, OPERATIONS_PER_DAY.convert(20000000.0D, NANOSECONDS_PER_OPERATION)); - Assertions.assertThrows(IllegalArgumentException.class, () -> OPERATIONS_PER_DAY.convert(1.0D, UNKNWOWN)); - Assertions.assertThrows(NullPointerException.class, () -> OPERATIONS_PER_DAY.convert(1.0D, null)); + // Test conversion for OPERATIONS_PER_DAY + Assertions.assertEquals(1.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(1.0D, BenchmarkUnit.OPERATIONS_PER_DAY)); + Assertions.assertEquals(24.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(1.0D, BenchmarkUnit.OPERATIONS_PER_HOUR)); + Assertions.assertEquals(1440.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(1.0D, BenchmarkUnit.OPERATIONS_PER_MINUTE)); + Assertions.assertEquals(86400.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(1.0D, BenchmarkUnit.OPERATIONS_PER_SECOND)); + Assertions.assertEquals(8640.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(0.0001D, BenchmarkUnit.OPERATIONS_PER_MILLISECOND)); + Assertions.assertEquals(8640.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(0.0000000001D, BenchmarkUnit.OPERATIONS_PER_NANOSECOND)); + Assertions.assertEquals(0.1D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(10.0D, BenchmarkUnit.DAYS_PER_OPERATION)); + Assertions.assertEquals(12.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(2.0D, BenchmarkUnit.HOURS_PER_OPERATION)); + Assertions.assertEquals(720.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(2.0D, BenchmarkUnit.MINUTES_PER_OPERATION)); + Assertions.assertEquals(43200.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(2.0D, BenchmarkUnit.SECONDS_PER_OPERATION)); + Assertions.assertEquals(43200.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(2000.0D, BenchmarkUnit.MILLISECONDS_PER_OPERATION)); + Assertions.assertEquals(4320000.0D, BenchmarkUnit.OPERATIONS_PER_DAY.convert(20000000.0D, BenchmarkUnit.NANOSECONDS_PER_OPERATION)); + Assertions.assertThrows(IllegalArgumentException.class, () -> BenchmarkUnit.OPERATIONS_PER_DAY.convert(1.0D, BenchmarkUnit.UNKNWOWN)); + Assertions.assertThrows(NullPointerException.class, () -> BenchmarkUnit.OPERATIONS_PER_DAY.convert(1.0D, null)); - //TODO: Same for all other enum values } }