// [Test] public static void TestMiniCBOR() { byte[] bytes; bytes = new byte[] { 0x19, 2 }; try { using (var memoryStream = new MemoryStream(bytes)) { MiniCBOR.ReadInt32(memoryStream); } Assert.Fail("Should have failed"); } catch (IOException) { // NOTE: Intentionally empty } catch (Exception ex) { Assert.Fail(ex.ToString()); throw new InvalidOperationException(String.Empty, ex); } bytes = new byte[] { 0x1a, 2 }; try { using (var memoryStream = new MemoryStream(bytes)) { MiniCBOR.ReadInt32(memoryStream); } Assert.Fail("Should have failed"); } catch (IOException) { // NOTE: Intentionally empty } catch (Exception ex) { Assert.Fail(ex.ToString()); throw new InvalidOperationException(String.Empty, ex); } bytes = new byte[] { 0x1b, 2 }; try { using (var ms = new MemoryStream(bytes)) { MiniCBOR.ReadInt32(ms); } Assert.Fail("Should have failed"); } catch (IOException) { // NOTE: Intentionally empty } catch (Exception ex) { Assert.Fail(ex.ToString()); throw new InvalidOperationException(String.Empty, ex); } bytes = new byte[] { 0x1b, 2, 2, 2, 2, 2, 2, 2, 2 }; try { using (var memoryStream = new MemoryStream(bytes)) { MiniCBOR.ReadInt32(memoryStream); } Assert.Fail("Should have failed"); } catch (IOException) { // NOTE: Intentionally empty } catch (Exception ex) { Assert.Fail(ex.ToString()); throw new InvalidOperationException(String.Empty, ex); } bytes = new byte[] { 0x1c, 2 }; try { using (var memoryStream = new MemoryStream(bytes)) { MiniCBOR.ReadInt32(memoryStream); } Assert.Fail("Should have failed"); } catch (Exception ex) { Assert.Fail(ex.ToString()); throw new InvalidOperationException(String.Empty, ex); } try { bytes = new byte[] { 0 }; using (var ms = new MemoryStream(bytes)) { Assert.AreEqual(0, MiniCBOR.ReadInt32(ms)); } bytes = new byte[] { 0x17 }; using (var ms2 = new MemoryStream(bytes)) { Assert.AreEqual(0x17, MiniCBOR.ReadInt32(ms2)); } bytes = new byte[] { 0x18, 2 }; using (var ms3 = new MemoryStream(bytes)) { Assert.AreEqual(2, MiniCBOR.ReadInt32(ms3)); } bytes = new byte[] { 0x19, 0, 2 }; using (var ms4 = new MemoryStream(bytes)) { Assert.AreEqual(2, MiniCBOR.ReadInt32(ms4)); } bytes = new byte[] { 0x27 }; using (var ms5 = new MemoryStream(bytes)) { Assert.AreEqual(-1 - 7, MiniCBOR.ReadInt32(ms5)); } bytes = new byte[] { 0x37 }; using (var ms6 = new MemoryStream(bytes)) { Assert.AreEqual(-1 - 0x17, MiniCBOR.ReadInt32(ms6)); } } catch (IOException ioex) { Assert.Fail(ioex.Message); } }