|
@@ -19,20 +19,23 @@
|
|
|
|
|
|
package org.elasticsearch.common.unit;
|
|
|
|
|
|
+import org.elasticsearch.common.io.stream.BytesStreamOutput;
|
|
|
+import org.elasticsearch.common.io.stream.StreamInput;
|
|
|
import org.elasticsearch.test.ESTestCase;
|
|
|
|
|
|
+import java.io.IOException;
|
|
|
+
|
|
|
import static org.elasticsearch.common.unit.ByteSizeUnit.BYTES;
|
|
|
import static org.elasticsearch.common.unit.ByteSizeUnit.GB;
|
|
|
import static org.elasticsearch.common.unit.ByteSizeUnit.KB;
|
|
|
import static org.elasticsearch.common.unit.ByteSizeUnit.MB;
|
|
|
import static org.elasticsearch.common.unit.ByteSizeUnit.PB;
|
|
|
import static org.elasticsearch.common.unit.ByteSizeUnit.TB;
|
|
|
+import static org.hamcrest.Matchers.containsString;
|
|
|
import static org.hamcrest.Matchers.equalTo;
|
|
|
|
|
|
-/**
|
|
|
- *
|
|
|
- */
|
|
|
public class ByteSizeUnitTests extends ESTestCase {
|
|
|
+
|
|
|
public void testBytes() {
|
|
|
assertThat(BYTES.toBytes(1), equalTo(1L));
|
|
|
assertThat(BYTES.toKB(1024), equalTo(1L));
|
|
@@ -77,4 +80,23 @@ public class ByteSizeUnitTests extends ESTestCase {
|
|
|
assertThat(PB.toTB(1), equalTo(1024L));
|
|
|
assertThat(PB.toPB(1), equalTo(1L));
|
|
|
}
|
|
|
+
|
|
|
+ public void testSerialization() throws IOException {
|
|
|
+ for (ByteSizeUnit unit : ByteSizeUnit.values()) {
|
|
|
+ try (BytesStreamOutput out = new BytesStreamOutput()) {
|
|
|
+ unit.writeTo(out);
|
|
|
+
|
|
|
+ try (StreamInput in = out.bytes().streamInput()) {
|
|
|
+ ByteSizeUnit deserialized = ByteSizeUnit.readFrom(in);
|
|
|
+ assertEquals(unit, deserialized);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public void testFromUnknownId() throws IOException {
|
|
|
+ final byte randomId = (byte) randomIntBetween(ByteSizeUnit.values().length + 1, 100);
|
|
|
+ IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> ByteSizeUnit.fromId(randomId));
|
|
|
+ assertThat(e.getMessage(), containsString("No byte size unit found for id [" + String.valueOf(randomId) + "]"));
|
|
|
+ }
|
|
|
}
|