Exemplo n.º 1
0
        public void GenericDictionaryAttributes()
        {
            var serializer = new ConfigurationContainer()
                             .Type <GenericDictionaryWithProperties <int, string> >()
                             .Member(x => x.Message, x => x.Attribute())
                             .Member(x => x.Number, x => x.Attribute())
                             .Create();

            var expected = new GenericDictionaryWithProperties <int, string>
            {
                { 1, "First" },
                { 2, "Second" },
                { 3, "Other" }
            };

            expected.Message = HelloWorld;
            expected.Number  = 6776;

            var data   = serializer.Serialize(expected);
            var actual = serializer.Deserialize <GenericDictionaryWithProperties <int, string> >(data);

            Assert.NotNull(actual);
            Assert.Equal(HelloWorld, actual.Message);
            Assert.Equal(6776, actual.Number);
            Assert.Equal(expected.Count, actual.Count);
            foreach (var entry in actual)
            {
                Assert.Equal(expected[entry.Key], entry.Value);
            }
        }
Exemplo n.º 2
0
        public void GenericDictionaryProperties()
        {
            var expected = new GenericDictionaryWithProperties <int, string>
            {
                { 1, "First" },
                { 2, "Second" },
                { 3, "Other" }
            };

            expected.Message = HelloWorld;
            expected.Number  = 6776;

            var data   = _serializer.Serialize(expected);
            var actual = _serializer.Deserialize <GenericDictionaryWithProperties <int, string> >(data);

            Assert.NotNull(actual);
            Assert.Equal(HelloWorld, actual.Message);
            Assert.Equal(6776, actual.Number);
            Assert.Equal(expected.Count, actual.Count);
            foreach (var entry in actual)
            {
                Assert.Equal(expected[entry.Key], entry.Value);
            }
        }