protected override void Context()
        {
            sut    = new XmlCacheSerializer <Compound, Unit, TestSerializationContext>();
            _cache = new Cache <Compound, Unit>();
            var d1 = new Unit {
                Name = "mg", Color = Color.WhiteSmoke
            };
            var p1 = new Compound("1")
            {
                Name = "toto", CompoundType = "Acid"
            };

            var d2 = new Unit {
                Name = "oo", Color = Color.Wheat
            };
            var p2 = new Compound("2")
            {
                Name = "tata", CompoundType = "base"
            };

            var serializerRepository      = new XmlSerializerRepository <TestSerializationContext>();
            var attributeMapperRepository = new AttributeMapperRepository <TestSerializationContext>();

            attributeMapperRepository.AddDefaultAttributeMappers();
            serializerRepository.AddSerializer(new CompoundSerializer().WithRepositories(serializerRepository, attributeMapperRepository));
            serializerRepository.AddSerializer(new UnitSerializer().WithRepositories(serializerRepository, attributeMapperRepository));
            serializerRepository.AddSerializer(sut.WithRepositories(serializerRepository, attributeMapperRepository));

            _cache.Add(p1, d1);
            _cache.Add(p2, d2);

            serializerRepository.PerformMapping();
            _context = new TestSerializationContext();
        }
コード例 #2
0
        public void Serializer_Deserializes_Correctly()
        {
            var serializer = new XmlCacheSerializer();
            var instance = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
                + "<SerializeType xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">"
                + "<Name>Some Name</Name><Age>25</Age><Birthday>0001-02-03T00:00:00</Birthday></SerializeType>";
            var actual = serializer.Deserialize<SerializeType>(instance);

            Assert.AreEqual(25, actual.Age);
            Assert.AreEqual(new DateTime(1, 2, 3), actual.Birthday);
            Assert.AreEqual("Some Name", actual.Name);
        }
コード例 #3
0
        public void Serializer_Serializes_Correctly()
        {
            var serializer = new XmlCacheSerializer();
            var instance = new SerializeType
            {
                Age = 25,
                Birthday = new DateTime(1, 2, 3),
                Name = "Some Name",
            };
            var expected = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
                + "<SerializeType xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">"
                + "<Name>Some Name</Name><Age>25</Age><Birthday>0001-02-03T00:00:00</Birthday></SerializeType>";
            var actual = serializer.Serialize(instance);

            Assert.AreEqual(expected, actual);
        }
コード例 #4
0
        public void Serializer_Initailizes_Correctly()
        {
            var serializer = new XmlCacheSerializer();

            Assert.IsNotNull(serializer);
        }