public void Should_Allow_Custom_Cql_Type_Serializers() { var typeSerializer = new DummyCustomTypeSerializer(); var serializer = new Serializer(4, new ITypeSerializer[] { typeSerializer }); var value = new DummyCustomType(new byte[] { 1, 2 }); var buffer = serializer.Serialize(value); CollectionAssert.AreEqual(new byte[] { 1, 2 }, buffer); var deserializedValue = serializer.Deserialize(buffer, ColumnTypeCode.Custom, typeSerializer.TypeInfo); Assert.IsInstanceOf<DummyCustomType>(deserializedValue); var deserializedCustom = (DummyCustomType)deserializedValue; CollectionAssert.AreEqual(value.Buffer, deserializedCustom.Buffer); //Check that other serializers are still working CollectionAssert.AreEqual(new byte[] { 0, 0, 0, 10 }, serializer.Serialize(10)); CollectionAssert.AreEqual(new byte[] { 0x61 }, serializer.Serialize("a")); }
public void Should_Allow_Custom_Cql_Type_Serializers() { var typeSerializer = new DummyCustomTypeSerializer(); var serializer = new Serializer(ProtocolVersion.MaxSupported, new ITypeSerializer[] { typeSerializer }); var value = new DummyCustomType(new byte[] { 1, 2 }); var buffer = serializer.Serialize(value); CollectionAssert.AreEqual(new byte[] { 1, 2 }, buffer); var deserializedValue = serializer.Deserialize(buffer, ColumnTypeCode.Custom, typeSerializer.TypeInfo); Assert.IsInstanceOf <DummyCustomType>(deserializedValue); var deserializedCustom = (DummyCustomType)deserializedValue; CollectionAssert.AreEqual(value.Buffer, deserializedCustom.Buffer); //Check that other serializers are still working CollectionAssert.AreEqual(new byte[] { 0, 0, 0, 10 }, serializer.Serialize(10)); CollectionAssert.AreEqual(new byte[] { 0x61 }, serializer.Serialize("a")); }