public void GetValueAsInt32Succeeds(int value) { var writer = new CborWriter(); writer.WriteInt32(value); CoseHeaderValue headerValue = CoseHeaderValue.FromEncodedValue(writer.Encode()); Assert.Equal(value, headerValue.GetValueAsInt32()); }
public void FromInt32Succeeds(int value) { var writer = new CborWriter(); writer.WriteInt32(value); CoseHeaderValue headerValue = CoseHeaderValue.FromInt32(value); AssertExtensions.SequenceEqual(writer.Encode(), headerValue.EncodedValue.Span); Assert.Equal(value, headerValue.GetValueAsInt32()); }
public void GetValueAsThrows(byte[] encodedValue, GetValueAs method) { CoseHeaderValue headerValue = CoseHeaderValue.FromEncodedValue(encodedValue); if (method == GetValueAs.Int32) { Assert.Throws <InvalidOperationException>(() => headerValue.GetValueAsInt32()); } else if (method == GetValueAs.String) { Assert.Throws <InvalidOperationException>(() => headerValue.GetValueAsString()); } else if (method == GetValueAs.Bytes) { Assert.Throws <InvalidOperationException>(() => headerValue.GetValueAsBytes()); } else { Assert.Equal(GetValueAs.BytesSpan, method); Memory <byte> buffer = new byte[1024]; // big enough to not throw ArgumentException. Assert.Throws <InvalidOperationException>(() => headerValue.GetValueAsBytes(buffer.Span)); } }
public void GetValueAsInt32Overflows(long value) { var writer = new CborWriter(); writer.WriteInt64(value); CoseHeaderValue headerValue = CoseHeaderValue.FromEncodedValue(writer.Encode()); Exception ex = Assert.Throws <InvalidOperationException>(() => headerValue.GetValueAsInt32()); Assert.IsType <OverflowException>(ex.InnerException); }