public void ShouldFreezeAClassWithTwoPublicMembers()
            {
                var contract = IceboxGenerator.Freeze(typeof(TestSubject));

                contract.Members.Count.Should().Be(2);

                var idMember = contract.Members.FirstOrDefault(m => m.Name == "Id");

                idMember.Should().NotBeNull();
                idMember?.Type.Should().Be(typeof(string));

                var ageMember = contract.Members.FirstOrDefault(m => m.Name == "Age");

                ageMember.Should().NotBeNull();
                ageMember?.Type.Should().Be(typeof(int));
            }
            public void ShouldReturnEmptyArrayForATypeWithNoPublicProperties()
            {
                var properties = IceboxGenerator.GetPublicPropertiesOfType(typeof(TestTypeWithNoPublicProperties));

                properties.Count().Should().Be(0);
            }
            public void ShouldReturnAllPublicPropertiesOfAType()
            {
                var properties = IceboxGenerator.GetPublicPropertiesOfType(typeof(TestTypeWithPublicProperties));

                properties.Count().Should().Be(2);
            }