コード例 #1
0
        public void Embedded_object_with_object_arrays_can_be_converted()
        {
            var userEx = new UserExtended
            {
                Name      = "John Doe",
                Age       = 30,
                Addresses = new []
                {
                    new PhysicalAddress
                    {
                        City   = "Tel-Aviv",
                        Street = "Sesame Str."
                    },
                    new PhysicalAddress
                    {
                        City   = "Haifa",
                        Street = "White Str."
                    }
                }
            };

            var doc = userEx.ToDocument();

            Assert.Equal(6, doc.Fields.Count);
            Assert.Equal("John Doe", doc.GetField(nameof(User.Name)).GetStringValue());
            Assert.Equal(30, doc.GetField(nameof(User.Age)).GetInt32Value());

            Assert.Equal(userEx.Addresses.Select(a => a.City).ToArray(),
                         doc.GetValues($"{nameof(UserExtended.Addresses)}.{nameof(Address.PhysicalAddress.City)}"));

            Assert.Equal(userEx.Addresses.Select(a => a.Street).ToArray(),
                         doc.GetValues($"{nameof(UserExtended.Addresses)}.{nameof(Address.PhysicalAddress.Street)}"));
        }
コード例 #2
0
        public void Can_convert_to_from_simple_object()
        {
            var userEx = new UserExtended
            {
                Name      = "John Doe",
                Age       = 30,
                Addresses = new []
                {
                    new PhysicalAddress
                    {
                        City   = "Tel-Aviv",
                        Street = "Sesame Str."
                    },
                    new PhysicalAddress
                    {
                        City   = "Haifa",
                        Street = "White Str."
                    }
                }
            };

            var doc           = userEx.ToDocument();
            var convertedUser = doc.ToObject <UserExtended>();
        }