public void DeserializeTest2()
        {
            const string json =
                @"
{
    ""Key"": ""Test Attribute"",
    ""AttributeType"": 3,
    ""Required"": true,
    ""PossibleValues"": {
        ""Version"": 1,
        ""MinValue"": null,
        ""MaxValue"": 1
    },
    ""DefaultValue"": 2
}
";
            IntegerAttributeType uut = new IntegerAttributeType();

            uut.Deserialize(json);

            Assert.AreEqual("Test Attribute", uut.Key);
            Assert.AreEqual(true, uut.Required);
            Assert.IsNull(uut.MinValue);
            Assert.AreEqual(1, uut.MaxValue);
            Assert.AreEqual(2, uut.DefaultValue);
        }
        public void SerializeDeserializeTest()
        {
            IntegerAttributeType originalObject = new IntegerAttributeType
            {
                Key          = "My Object",
                MaxValue     = 100,
                MinValue     = 0,
                Required     = true,
                DefaultValue = 50
            };

            string serialObjected = originalObject.Serialize();

            IntegerAttributeType uut = new IntegerAttributeType();

            uut.Deserialize(serialObjected);

            Assert.AreEqual(originalObject.Key, uut.Key);
            Assert.AreEqual(originalObject.MaxValue, uut.MaxValue);
            Assert.AreEqual(originalObject.MinValue, uut.MinValue);
            Assert.AreEqual(originalObject.Required, uut.Required);
            Assert.AreEqual(originalObject.DefaultValue, uut.DefaultValue);
        }