public void Test_Nullable_Primitive_Types_Defaults_With_Value_Defaults()
        {
            var schema = Resources.NullableTypeDefaults;
            var primitiveTypeDefaults = new NullableTypeDefaults();
            var avro     = primitiveTypeDefaults.ToAvroRecord(schema);
            var restored = avro.FromAvroRecord <NullableTypeDefaults>();

            Assert.AreEqual(restored.Boolean, true);
            Assert.AreEqual(restored.Int, 123);
            Assert.AreEqual(restored.Long, 345);
            Assert.AreEqual(restored.Float, 567);
            Assert.AreEqual(restored.Double, 789);
            Assert.AreEqual(restored.Enum, BasicColor.Orange);
            Assert.AreEqual(restored.String, "Hello There!");
        }
        public void Test_Nullable_Primitive_Types_Defaults_With_Null_Defaults()
        {
            var schema = Resources.NullableTypeNullDefaults;
            var nullableTypeDefaults = new NullableTypeDefaults();
            var avro     = nullableTypeDefaults.ToAvroRecord(schema);
            var restored = avro.FromAvroRecord <NullableTypeDefaults>();

            Assert.AreEqual(restored.Boolean, null);
            Assert.AreEqual(restored.Int, null);
            Assert.AreEqual(restored.Long, null);
            Assert.AreEqual(restored.Float, null);
            Assert.AreEqual(restored.Double, null);
            Assert.AreEqual(restored.String, null);
            Assert.AreEqual(restored.Enum, null);
        }
        public void Test_Nullable_Primitive_Types_With_Values()
        {
            var schema = Resources.NullableTypeNullDefaults;
            var primitiveTypeDefaults = new NullableTypeDefaults
            {
                Boolean = false,
                Int     = int.MaxValue,
                Double  = double.MaxValue,
                Enum    = BasicColor.Indigo,
                Float   = float.MaxValue,
                Long    = long.MaxValue,
                String  = "Goodbye!"
            };
            var avro     = primitiveTypeDefaults.ToAvroRecord(schema);
            var restored = avro.FromAvroRecord <NullableTypeDefaults>();

            Assert.AreEqual(restored.Boolean, false);
            Assert.AreEqual(restored.Int, int.MaxValue);
            Assert.AreEqual(restored.Long, long.MaxValue);
            Assert.AreEqual(restored.Float, float.MaxValue);
            Assert.AreEqual(restored.Double, double.MaxValue);
            Assert.AreEqual(restored.Enum, BasicColor.Indigo);
            Assert.AreEqual(restored.String, "Goodbye!");
        }