public void Serialize_MultiThreadSerialization_NoExceptionIsThrown()
        {
            //Arrange
            VeryComplexClass testClass = _fixture.Create <VeryComplexClass>();


            //Act
            List <Task> listOfTasks = new List <Task>();

            for (var counter = 0; counter < 10; counter++)
            {
                listOfTasks.Add(Task.Run(() =>
                {
                    for (var iMessagesCntr = 0; iMessagesCntr < 100; iMessagesCntr++)
                    {
                        var result       = AvroConvert.Serialize(testClass);
                        var deserialized = AvroConvert.Deserialize <VeryComplexClass>(result);

                        //Assert
                        Assert.Equal(testClass, deserialized);

                        Thread.Sleep(counter
                                     );
                    }
                }));
            }

            Task.WaitAll(listOfTasks.ToArray());
        }
Exemple #2
0
        public void Component_SerializeHeadlessBiggerObjectAndReadSmaller_NoError()
        {
            //Arrange
            VeryComplexClass toSerialize = _fixture.Create <VeryComplexClass>();
            string           schema      = AvroConvert.GenerateSchema(typeof(VeryComplexClass));

            //Act
            var result = AvroConvert.SerializeHeadless(toSerialize, schema);

            var deserialized = AvroConvert.DeserializeHeadless <VeryComplexClass>(result, schema);

            //Assert
            Assert.NotNull(result);
            Assert.NotNull(deserialized);
            Assert.Equal(toSerialize, deserialized);
        }