public void TryParse_NonSupportedType_ExceptionIsThrown() { var bytes = new byte[] { 100, 0, 0, 0 }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.Object)); var binaryFieldParser = new BinaryFieldParser(); binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); }
public void TryParse_ParseFieldAttributeThrowsException_ExceptionIsPropogated() { var bytes = new byte[] { 100 }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.FieldWithFailingParseFieldAttribute)); var binaryFieldParser = new BinaryFieldParser(); binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); }
public void TryParse_InvalidByte_FailureIsReturned() { var bytes = new byte[] { }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.Byte)); var binaryFieldParser = new BinaryFieldParser(); var couldParse = binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); Assert.IsFalse(couldParse); Assert.IsNotNull(failureMessage); }
public void TryParse_Byte_ByteIsReturned() { var bytes = new byte[] { 100 }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.Byte)); var binaryFieldParser = new BinaryFieldParser(); var couldParse = binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); Assert.IsTrue(couldParse); Assert.AreEqual(bytes[0], parsedFieldValue); Assert.IsNull(failureMessage); }
public void TryParse_NullableIntWithNullValue_NullIsReturned() { var bytes = new byte[] { 0, 0, 0, 0 }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.NullableInt)); var binaryFieldParser = new BinaryFieldParser(); var couldParse = binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); Assert.IsFalse(couldParse); Assert.IsNull(parsedFieldValue); Assert.IsNull(failureMessage); }
public void TryParse_DateTime_DateTimeIsReturned() { var bytes = new byte[] { 0, 64, 228, 71, 2, 34, 193, 8 }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.DateTime)); var binaryFieldParser = new BinaryFieldParser(); var couldParse = binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); Assert.IsTrue(couldParse); Assert.AreEqual(DateTime.Parse("2000-01-01"), parsedFieldValue); Assert.IsNull(failureMessage); }
public void TryParse_String_StringIsReturned() { var bytes = new byte[] { 116, 101, 120, 116 }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.String)); var binaryFieldParser = new BinaryFieldParser(); var couldParse = binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); Assert.IsTrue(couldParse); Assert.AreEqual("text", parsedFieldValue); Assert.IsNull(failureMessage); }
public void TryParse_Float_FloatIsReturned() { var bytes = new byte[] { 0, 0, 40, 65 }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.Float)); var binaryFieldParser = new BinaryFieldParser(); var couldParse = binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); Assert.IsTrue(couldParse); Assert.AreEqual(10.5f, parsedFieldValue); Assert.IsNull(failureMessage); }
public void TryParse_Decimal_DecimalIsReturned() { var bytes = new byte[] { 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0 }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.Decimal)); var binaryFieldParser = new BinaryFieldParser(); var couldParse = binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); Assert.IsTrue(couldParse); Assert.AreEqual(2.00m, parsedFieldValue); Assert.IsNull(failureMessage); }
public void TryParse_Chars_CharsAreReturned() { var bytes = new byte[2] { 100, 101 }; var property = typeof(MockRecord).GetProperty(nameof(MockRecord.Chars)); var binaryFieldParser = new BinaryFieldParser(); var couldParse = binaryFieldParser.TryParse(property, bytes, out var parsedFieldValue, out var failureMessage); Assert.IsTrue(couldParse); Assert.AreEqual((char)bytes[0], ((char[])parsedFieldValue)[0]); Assert.AreEqual((char)bytes[1], ((char[])parsedFieldValue)[1]); Assert.IsNull(failureMessage); }