public void Test_Writing_A_String_To_A_Null_BinaryWriter() { IDataNode dataNode = new StringDataNode(); Action action = () => dataNode.Write(null, string.Empty); action.Should() .ThrowArgumentNullException("binaryWriter"); }
public void Test_Writing_A_Null_String() { IDataNode dataNode = new StringDataNode(); Action action = () => dataNode.Write(binaryWriter, null); action.Should() .ThrowArgumentNullException("value"); }
public void Test_Writing_A_Non_String_Object() { IDataNode dataNode = new StringDataNode(); int value = 1; Action action = () => dataNode.Write(binaryWriter, value); action.Should() .ThrowExactly <ArgumentException>() .WithMessage($"Cannot write value of type {value.GetType().Name} as a string."); }
public void Test_Writing_An_Offline_String_With_Invalid_Length() { IDataNode dataNode = new StringDataNode(); string value = new string('a', StringDataNode.OFFSET_STRING_MAX_LENGTH + 1); Action action = () => dataNode.Write(binaryWriter, value); action.Should() .ThrowExactly <ArgumentException>() .WithMessage($"String length is longer than {StringDataNode.OFFSET_STRING_MAX_LENGTH}."); }
public void Test_Writing_An_Inline_String_Longer_Than_The_Fixed_Size() { byte length = 20; IDataNode dataNode = new StringDataNode(length); string value = new string('a', length + 1); Action action = () => dataNode.Write(binaryWriter, value); action.Should() .ThrowExactly <ArgumentException>() .WithMessage($"String length is longer than {length}."); }
public void Test_Writing_An_Inline_String_Of_Exactly_The_Fixed_Size() { byte length = 20; IDataNode dataNode = new StringDataNode(length); string value = new string('b', length); dataNode.Write(binaryWriter, value); Received.InOrder(() => { binaryWriter.WriteBytes(Matcher.ForEquivalentArray(Encoding.ASCII.GetBytes(value))); }); }
public void Test_Writing_An_Offline_String() { IDataNode dataNode = new StringDataNode(); string value = "my value"; dataNode.Write(binaryWriter, value); Received.InOrder(() => { binaryWriter.WriteByte((byte)value.Length); binaryWriter.WriteBytes(Matcher.ForEquivalentArray(Encoding.ASCII.GetBytes(value))); binaryWriter.WriteByte(0); }); }