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()); } }