package model.asn1; import model.asn1.exceptions.ParseException; import model.asn1.parsing.BytesReader; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class BoolTest { @Test void testConstructor() { assertTrue(new Bool(Bool.TAG, null, true).getValue()); assertFalse(new Bool(Bool.TAG, null, false).getValue()); } @Test void testParse() throws ParseException { assertFalse(new Bool(new BytesReader(new Byte[]{ 0x1, 1, 0 }), false) .getValue()); assertTrue(new Bool(new BytesReader(new Byte[]{ 0x1, 1, -1 }), false) .getValue()); } @Test void testParseFail() throws ParseException { assertThrows(ParseException.class, () -> new Bool(new BytesReader(new Byte[]{ 0x1, 0 }), false)); assertThrows(ParseException.class, () -> new Bool(new BytesReader(new Byte[]{ 0x1, 1 }), false)); assertThrows(ParseException.class, () -> new Bool(new BytesReader(new Byte[]{ 0x1, 1, 1 }), false)); assertThrows(ParseException.class, () -> new Bool(new BytesReader(new Byte[]{ 0x1, 1, -2 }), false)); assertThrows(ParseException.class, () -> new Bool(new BytesReader(new Byte[]{ 0x1, 2, -1, 2 }), false)); } @Test void testEncode() { assertArrayEquals(new Byte[]{ 0 }, new Bool(Bool.TAG, null, false).encodeValueDER()); assertArrayEquals(new Byte[]{ -1 }, new Bool(Bool.TAG, null, true).encodeValueDER()); } }