public void Test_Deserialize_Null() { var transcoder = new DefaultTranscoder(new DefaultConverter()); object value = null; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = TypeCode.Empty }; var bytes = transcoder.SerializeAsJson(value); var actual = transcoder.Decode <object>(bytes, 0, bytes.Length, flags, OperationCode.Get); Assert.AreEqual(value, actual); }
public void Test_Deserialize_Int() { var transcoder = new DefaultTranscoder(new DefaultConverter()); var five = 5; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = five.GetTypeCode() }; var bytes = transcoder.Encode(five, flags, OperationCode.Get); var actual = transcoder.Decode <int>(bytes, 0, bytes.Length, flags, OperationCode.Get); Assert.AreEqual(five, actual); }
public void Test_Deserialize_Char() { var transcoder = new DefaultTranscoder(new DefaultConverter()); var value = 'o'; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = Convert.GetTypeCode(value) }; var bytes = Encoding.UTF8.GetBytes(value.ToString()); var actual = transcoder.Decode <char>(bytes.AsMemory(), flags, OpCode.Get); Assert.Equal(value, actual); }
public void Test_Deserialize_Null() { var transcoder = new DefaultTranscoder(new DefaultConverter()); object value = null; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = TypeCode.Empty }; // ReSharper disable once ExpressionIsAlwaysNull var bytes = transcoder.SerializeAsJson(value); var actual = transcoder.Decode <object>(bytes.AsMemory(), flags, OpCode.Get); Assert.Equal(value, actual); }
public void Test_Deserialize_String() { var transcoder = new DefaultTranscoder(new ManualByteConverter()); var value = "astring"; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = value.GetTypeCode() }; var bytes = transcoder.Encode(value, flags); var bytes1 = Encoding.UTF8.GetBytes(value); var actual = transcoder.Decode <string>(bytes, 0, bytes.Length, flags); Assert.AreEqual(value, actual); }
public void Test_Poco_Encode_And_Decode() { var transcoder = new DefaultTranscoder(new DefaultConverter(), new JilSerializer()); var expected = new QueueItem { Id = "foo", ModeTime = 111ul }; var bytes = transcoder.Encode(expected, new Flags { DataFormat = DataFormat.Json }, OperationCode.Get); var actual = transcoder.Decode <QueueItem>(bytes, 0, bytes.Length, OperationCode.Get); Assert.AreEqual(expected.Id, actual.Id); }
public void Test_Deserialize_String() { var transcoder = new DefaultTranscoder(); var value = "astring"; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = Convert.GetTypeCode(value) }; using (var stream = new MemoryStream()) { transcoder.Encode(stream, value, flags, OpCode.Get); var actual = transcoder.Decode <string>(stream.ToArray(), flags, OpCode.Get); Assert.Equal(value, actual); } }
public void Test_Deserialize_Int() { var transcoder = new DefaultTranscoder(new DefaultConverter()); var five = 5; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = Convert.GetTypeCode(five) }; using (var stream = new MemoryStream()) { transcoder.Encode(stream, five, flags, OpCode.Get); var actual = transcoder.Decode <int>(stream.ToArray(), flags, OpCode.Get); Assert.Equal(five, actual); } }
public void Test_Poco() { var transcoder = new DefaultTranscoder(new DefaultConverter()); var value = new Person { Name = "jeff" }; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = Type.GetTypeCode(typeof(Person)) }; var bytes = transcoder.Encode(value, flags, OpCode.Get); var actual = transcoder.Decode <Person>(bytes.AsMemory(), flags, OpCode.Get); Assert.Equal(value.Name, actual.Name); }
public void Test_Poco() { var transcoder = new DefaultTranscoder(new ManualByteConverter()); var value = new Person { Name = "jeff" }; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = Type.GetTypeCode(typeof(Person)) }; var bytes = transcoder.Encode(value, flags); var actual = transcoder.Decode <Person>(new ArraySegment <byte>(bytes), 0, bytes.Length, flags); Assert.AreEqual(value.Name, actual.Name); }
public void Test_Byte_Array() { var transcoder = new DefaultTranscoder(new ManualByteConverter()); var value = new byte[] { 0x00, 0x00, 0x01 }; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Binary, TypeCode = Type.GetTypeCode(typeof(byte[])) }; var bytes = transcoder.Encode(value, flags); Assert.AreEqual(bytes, value); var actual = transcoder.Decode <byte[]>(bytes, 0, bytes.Length, flags); Assert.AreEqual(bytes, actual); }
public void Test_Deserialize_Null() { var transcoder = new DefaultTranscoder(); object value = null; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = TypeCode.Empty }; // ReSharper disable once ExpressionIsAlwaysNull using (var stream = new MemoryStream()) { transcoder.SerializeAsJson(stream, value); var actual = transcoder.Decode <object>(stream.ToArray(), flags, OpCode.Get); Assert.Equal(value, actual); } }
public void Test_Byte_Array() { var transcoder = new DefaultTranscoder(); var value = new byte[] { 0x00, 0x00, 0x01 }; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Binary, TypeCode = Type.GetTypeCode(typeof(byte[])) }; using (var stream = new MemoryStream()) { transcoder.Encode(stream, value, flags, OpCode.Get); Assert.Equal(value, stream.ToArray()); var actual = transcoder.Decode <byte[]>(stream.ToArray(), flags, OpCode.Get); Assert.Equal(value, actual); } }
public void Test_Int_Encode_And_Decode() { var transcoder = new DefaultTranscoder(new DefaultConverter(), new JilSerializer()); var expected = 10; var bytes = transcoder.Encode(expected, new Flags { DataFormat = DataFormat.Json }, OperationCode.Get); var actual = transcoder.Decode <int>(bytes, 0, bytes.Length, new Flags { DataFormat = DataFormat.Json }, OperationCode.Get); Assert.AreEqual(expected, actual); }
public void Test_Poco() { var transcoder = new DefaultTranscoder(); var value = new Person { Name = "jeff" }; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = Type.GetTypeCode(typeof(Person)) }; using (var stream = new MemoryStream()) { transcoder.Encode(stream, value, flags, OpCode.Get); var actual = transcoder.Decode <Person>(stream.ToArray(), flags, OpCode.Get); Assert.Equal(value.Name, actual.Name); } }
public void Test_dynamic_Encode_And_Decode() { var transcoder = new DefaultTranscoder(new DefaultConverter(), new JilSerializer()); dynamic expected = new { Id = "bar", Val = 100 }; var bytes = transcoder.Encode(expected, new Flags { DataFormat = DataFormat.Json }, OperationCode.Get); var actual = transcoder.Decode <dynamic>(bytes, 0, bytes.Length, new Flags { DataFormat = DataFormat.Json }, OperationCode.Get); //dynamic does not quite work as expected... //Assert.AreEqual(expected.Id, actual.Id); }
public void When_ByteArray_Is_Stored_With_Legacy_Flags_It_Is_Decoded_As_A_ByteArray() { var legacyByteArray = new byte[] { 129, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 5, 19, 185, 8, 248, 3, 104, 208, 188, 0, 0, 250, 82, 116, 101, 115, 116 }; var converter = new DefaultConverter(); var format = new byte(); var temp = converter.ToByte(legacyByteArray, 24); converter.SetBit(ref format, 0, converter.GetBit(temp, 0)); converter.SetBit(ref format, 1, converter.GetBit(temp, 1)); converter.SetBit(ref format, 2, converter.GetBit(temp, 2)); converter.SetBit(ref format, 3, converter.GetBit(temp, 3)); var compression = new byte(); converter.SetBit(ref compression, 4, converter.GetBit(temp, 4)); converter.SetBit(ref compression, 5, converter.GetBit(temp, 5)); converter.SetBit(ref compression, 6, converter.GetBit(temp, 6)); var flags = new Flags { DataFormat = (DataFormat)format, Compression = (Compression)compression, TypeCode = (TypeCode)(converter.ToUInt16(legacyByteArray, 26) & 0xff), }; var transcoder = new DefaultTranscoder(new DefaultConverter()); var result = transcoder.Decode <byte[]>(legacyByteArray.AsMemory(28, 4), flags, OpCode.Get); Assert.Equal("test", Encoding.UTF8.GetString(result)); }
public void When_ByteArray_Is_Stored_With_Legacy_Flags_It_Is_Decoded_As_A_ByteArray() { var legacyByteArray = new byte[] { 129, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 5, 19, 185, 8, 248, 3, 104, 208, 188, 0, 0, 250, 82, 116, 101, 115, 116 }; var converter = new DefaultConverter(); var format = new byte(); var temp = converter.ToByte(legacyByteArray, 24); converter.SetBit(ref format, 0, converter.GetBit(temp, 0)); converter.SetBit(ref format, 1, converter.GetBit(temp, 1)); converter.SetBit(ref format, 2, converter.GetBit(temp, 2)); converter.SetBit(ref format, 3, converter.GetBit(temp, 3)); var compression = new byte(); converter.SetBit(ref compression, 4, converter.GetBit(temp, 4)); converter.SetBit(ref compression, 5, converter.GetBit(temp, 5)); converter.SetBit(ref compression, 6, converter.GetBit(temp, 6)); var flags = new Flags { DataFormat = (DataFormat)format, Compression = (Compression)compression, TypeCode = (TypeCode)(converter.ToUInt16(legacyByteArray, 26) & 0xff), }; var transcoder = new DefaultTranscoder(new DefaultConverter()); var result = transcoder.Decode<byte[]>(legacyByteArray, 28, 4, flags, OperationCode.Get); Assert.AreEqual("test", Encoding.UTF8.GetString(result)); }
public void Test_Byte_Array() { var transcoder = new DefaultTranscoder(new DefaultConverter()); var value = new byte[] {0x00, 0x00, 0x01}; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Binary, TypeCode = Type.GetTypeCode(typeof(byte[])) }; var bytes = transcoder.Encode(value, flags, OperationCode.Get); Assert.AreEqual(bytes, value); var actual = transcoder.Decode<byte[]>(bytes, 0, bytes.Length, flags, OperationCode.Get); Assert.AreEqual(bytes, actual); }
public void Test_Deserialize_String() { var transcoder = new DefaultTranscoder(new DefaultConverter()); var value = "astring"; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = value.GetTypeCode() }; var bytes = transcoder.Encode(value, flags, OperationCode.Get); var bytes1 = Encoding.UTF8.GetBytes(value); var actual = transcoder.Decode<string>(bytes, 0, bytes.Length, flags, OperationCode.Get); Assert.AreEqual(value, actual); }
public void Test_Deserialize_Null() { var transcoder = new DefaultTranscoder(new DefaultConverter()); object value = null; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = TypeCode.Empty }; var bytes = transcoder.SerializeAsJson(value); var actual = transcoder.Decode<object>(bytes, 0, bytes.Length, flags, OperationCode.Get); Assert.AreEqual(value, actual); }
public void Test_Deserialize_Int() { var transcoder = new DefaultTranscoder(new DefaultConverter()); var five = 5; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = five.GetTypeCode() }; var bytes = transcoder.Encode(five, flags, OperationCode.Get); var actual = transcoder.Decode<int>(bytes, 0, bytes.Length, flags, OperationCode.Get); Assert.AreEqual(five, actual); }
public void Test_Poco() { var transcoder = new DefaultTranscoder(new DefaultConverter()); var value = new Person {Name = "jeff"}; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.Reserved, TypeCode = Type.GetTypeCode(typeof(Person)) }; var bytes = transcoder.Encode(value, flags, OperationCode.Get); var actual = transcoder.Decode<Person>(new ArraySegment<byte>(bytes), 0, bytes.Length, flags, OperationCode.Get); Assert.AreEqual(value.Name, actual.Name); }