public void Test_Decode_Object_Fails() { var transcoder = new RawStringTranscoder(); var flags = new Flags { DataFormat = DataFormat.Json }; var memory = new ReadOnlyMemory <byte>(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject("Hello, world!"))); Assert.Throws <InvalidOperationException>(() => transcoder.Decode <object>(memory, flags, OpCode.NoOp)); }
public void DecodeString_Defaults_To_Null_When_Buffer_Is_Empty_And_Type_Is_String() { var transcoder = new RawStringTranscoder(); var bytes = new byte[0]; var result = transcoder.Decode <string>(bytes.AsMemory(), new Flags { DataFormat = DataFormat.String }, OpCode.NoOp); Assert.Null(result); }
public void Test_Deserialize_Char() { var transcoder = new RawStringTranscoder(); var value = 'o'; var flags = new Flags { Compression = Compression.None, DataFormat = DataFormat.String, TypeCode = Convert.GetTypeCode(value) }; var bytes = Encoding.UTF8.GetBytes(value.ToString()); Assert.Throws <InvalidOperationException>(() => transcoder.Decode <char>(bytes.AsMemory(), flags, OpCode.Get)); }
public void Test_Deserialize_String() { var transcoder = new RawStringTranscoder(); // ReSharper disable once StringLiteralTypo var value = "astring"; var flags = new Flags { Compression = Couchbase.Core.IO.Operations.Compression.None, DataFormat = DataFormat.String, 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); }