public void Adapt_ListPropertyWithProxy_ToReadOnlyList_Enumerator()
        {
            // Arrange
            var value = new HasListOfPersonProperty()
            {
                ListProperty = new List <Person>()
                {
                    new Person()
                    {
                        FirstName = "Billy"
                    },
                    new Person()
                    {
                        FirstName = "Joe"
                    },
                }
            };

            // Act
            var proxy = ConvertTo <IHasReadOnlyListOfPersonProperty>(value);

            // Assert
            Assert.NotNull(proxy);

            var sequence = value.ListProperty.Zip(proxy.ListProperty, (i, j) => Tuple.Create(i, j));

            foreach (var item in sequence)
            {
                Assert.Equal(item.Item1.FirstName, item.Item2.FirstName);
            }
        }
        public void Adapt_ListPropertyWithProxy_ToReadOnlyList()
        {
            // Arrange
            var value = new HasListOfPersonProperty()
            {
                ListProperty = new List <Person>()
                {
                    new Person()
                    {
                        FirstName = "Billy"
                    },
                    new Person()
                    {
                        FirstName = "Joe"
                    },
                }
            };

            // Act
            var proxy = ConvertTo <IHasReadOnlyListOfPersonProperty>(value);

            // Assert
            Assert.NotNull(proxy);
            Assert.Equal(2, proxy.ListProperty.Count);
            Assert.Equal("Billy", proxy.ListProperty[0].FirstName);
            Assert.Equal("Joe", proxy.ListProperty[1].FirstName);
        }