diff --git a/code/common/model/src/test/java/nu/marginalia/model/WordMetadataTest.java b/code/common/model/src/test/java/nu/marginalia/model/WordMetadataTest.java index d99aad77..79258915 100644 --- a/code/common/model/src/test/java/nu/marginalia/model/WordMetadataTest.java +++ b/code/common/model/src/test/java/nu/marginalia/model/WordMetadataTest.java @@ -1,5 +1,6 @@ package nu.marginalia.model; +import nu.marginalia.bbpc.BrailleBlockPunchCards; import nu.marginalia.model.idx.WordFlags; import nu.marginalia.model.idx.WordMetadata; import org.junit.jupiter.api.Test; @@ -16,12 +17,22 @@ class WordMetadataTest { verifyCodec("Position 32bit", new WordMetadata(0xff0f0000L, EnumSet.allOf(WordFlags.class))); verifyCodec("Position all", new WordMetadata(0xffff_ff0f_0000L, EnumSet.allOf(WordFlags.class))); verifyCodec("No flags", new WordMetadata( 0xff0f0000L, EnumSet.noneOf(WordFlags.class))); + verifyCodec("No flags, some bits", new WordMetadata(0x7f7f7f7f7f7f7fL, EnumSet.noneOf(WordFlags.class))); + verifyCodec("No flags, all bits", new WordMetadata( 0xffffffffffffffL, EnumSet.noneOf(WordFlags.class))); + verifyCodec("All flags, all bits", new WordMetadata( 0xffffffffffffffL, EnumSet.allOf(WordFlags.class))); System.out.println(new WordMetadata(0x7f0f0005L, EnumSet.allOf(WordFlags.class))); System.out.println(new WordMetadata(0xff0f0013L, EnumSet.noneOf(WordFlags.class))); System.out.println(new WordMetadata(0xf0f000ff0f0013L, EnumSet.allOf(WordFlags.class))); + System.out.println(new WordMetadata(0xf0f000ff0f0013L, (byte)-1)); + System.out.println(new WordMetadata(0xffffffffffffffL, (byte)0)); + System.out.println(BrailleBlockPunchCards.printBits(new WordMetadata(~0L, (byte) 0).encode(), 64)); + System.out.println(BrailleBlockPunchCards.printBits(new WordMetadata(0, (byte) 0xff).encode(), 64)); + System.out.println(BrailleBlockPunchCards.printBits(131973L, 64)); + System.out.println(new WordMetadata(131973L)); } public void verifyCodec(String message, WordMetadata data) { + System.out.println(BrailleBlockPunchCards.printBits(data.encode(), 64)); assertEquals(data, new WordMetadata(data.encode()), message); }