public static void Test_Uf16_UsesNullTerminator_When_BeingReserialized_DontTerminate(string testString)
        {
            //arrange
            SerializerService serializer = new SerializerService();

            serializer.RegisterType <UTF8StringTestWithTerminator>();
            serializer.Compile();

            //act
            byte[] reserialized = serializer.SerializeAsync(serializer.DeserializeAsync <UTF8StringTestWithTerminator>(serializer.SerializeAsync(new UTF8StringTestWithTerminator(testString)).Result).Result).Result;

            Assert.AreEqual(8 + Encoding.UTF8.GetBytes(testString).Length + NULL_TERMINATOR_SIZE, reserialized.Length);
            Assert.AreEqual(0, reserialized.Last());
        }
Exemple #2
0
        public void Test_Can_Serialize_Async()
        {
            //arrange
            SerializerService serializer = new SerializerService();

            serializer.RegisterType <TestSerializableType>();
            serializer.Compile();

            //act
            byte[] bytesTask = serializer.SerializeAsync(new TestSerializableType(50, "Hello!")).Result;

            //assert
            Assert.NotNull(bytesTask);
            Assert.IsNotEmpty(bytesTask);
        }
        public static void Test_Uf16_UsesNullTerminator_When_BeingReserialized_DontTerminate(string testString)
        {
            //arrange
            SerializerService serializer = new SerializerService();

            serializer.RegisterType <Utf16StringTestWithTerminator>();
            serializer.Compile();

            //act
            byte[] reserialized = serializer.SerializeAsync(serializer.DeserializeAsync <Utf16StringTestWithTerminator>(serializer.SerializeAsync(new Utf16StringTestWithTerminator(testString)).Result).Result).Result;

            Assert.AreEqual(8 + testString.Length * 2 + 2, reserialized.Length);
            Assert.AreEqual(0, reserialized.Last());
            Assert.AreEqual(0, reserialized.Reverse().Skip(1).First());
        }
        public void Test_Can_Serializer_OneByteSized_Type()
        {
            //arrange
            SerializerService serializer = new SerializerService();

            serializer.RegisterType <TestOneSizedByteArray>();
            serializer.Compile();

            //act
            byte[] bytes = serializer.SerializeAsync(new TestOneSizedByteArray(new byte[1] {
                7
            })).Result;

            //assert
            Assert.NotNull(bytes);
            Assert.IsNotEmpty(bytes);
            Assert.AreEqual(bytes.Length, 3);
        }
Exemple #5
0
        public void Test_Can_Deserialize_Async()
        {
            //arrange
            SerializerService serializer = new SerializerService();

            serializer.RegisterType <TestSerializableType>();
            serializer.Compile();

            //act
            byte[] bytesTask            = serializer.SerializeAsync(new TestSerializableType(50, "Hello!")).Result;
            TestSerializableType result = serializer.DeserializeAsync <TestSerializableType>(new AsyncWireReaderBytesReadableAdapter(new BytesReadableTest(bytesTask))).Result;

            //assert
            Assert.NotNull(bytesTask);
            Assert.IsNotEmpty(bytesTask);

            Assert.NotNull(result);
            Assert.AreEqual(50, result.TestInt);
            Assert.AreEqual("Hello!", result.TestString);
        }
        public async static Task Test_Can_Deserialize_From_RealWorld_Bytes()
        {
            //arrange
            SerializerService service = new SerializerService();

            service.RegisterType <AuthRealmListResponse>();
            service.Compile();

            //act
            AuthRealmListResponse response = await service.DeserializeAsync <AuthRealmListResponse>(new DefaultStreamReaderStrategyAsync(new AsyncRandomlyBlockingStream(realworldBytes)));

            byte[] bytes = await service.SerializeAsync(response, new DefaultStreamWriterStrategyAsync(new AsyncRandomlyBlockingStream()));

            //assert
            Assert.True(response.Realms.Count() == 1);
            Assert.True(response.Realms.First().isLocked == false);
            Assert.True(response.Realms.First().Information.Flags == RealmFlags.None);
            Assert.AreEqual(response.Realms.First().Information.RealmString, "Trinity");
            Assert.AreEqual(response.Realms.First().Information.RealmAddress.RealmAddress.Value.ToString(), "127.0.0.1");
        }
        public void Test_Can_Serialize_RemovedSize_Array_Type()
        {
            //arrange
            SerializerService serializer = new SerializerService();

            serializer.RegisterType <TestRemovedSizeArrayType>();
            serializer.Compile();
            RefInt[] values = new RefInt[] { new RefInt(5), new RefInt(16) };

            //act
            byte[] bytes = serializer.SerializeAsync(new TestRemovedSizeArrayType(values)).Result;
            TestRemovedSizeArrayType deserialized = serializer.DeserializeAsync <TestRemovedSizeArrayType>(bytes).Result;

            //assert
            Assert.AreEqual(values.Length * sizeof(int) + sizeof(int), bytes.Length, "Bytes size");
            Assert.AreEqual(bytes[0], values.Length + 1);

            for (int i = 0; i < values.Length; i++)
            {
                Assert.AreEqual(values[i].Value, deserialized.Values[i].Value);
            }
        }
Exemple #8
0
        public void Test_Can_Deserialize_Async_One_Sized_Array()
        {
            //arrange
            SerializerService serializer = new SerializerService();

            serializer.RegisterType <TestSerializableType2>();
            serializer.Compile();

            //act
            byte[] bytesTask = serializer.SerializeAsync(new TestSerializableType2(TestSerializableType2.TestEnum.One, new byte[1] {
                7
            })).Result;
            Assert.NotNull(bytesTask);
            Assert.IsNotEmpty(bytesTask);

            TestSerializableType2 result = serializer.DeserializeAsync <TestSerializableType2>(new AsyncWireReaderBytesReadableAdapter(new BytesReadableTest(bytesTask))).Result;

            //assert
            Assert.NotNull(result);
            Assert.True(result.TestOneSizedArray.Length == 1);
            Assert.AreEqual(TestSerializableType2.TestEnum.One, result.EnumVal);
            Assert.AreEqual(7, result.TestOneSizedArray[0]);
        }