public void Should_Not_Populate_Fields_Of_Private_SubClass()
        {
            //Create a new instance of our test class
            var testInstance = new ComplexPocoTestClass();

            //Match the fields...
            _matcher.Match(testInstance);

            /* ASSERTIONS */

            //Assert that all of the fields on the sub-class have been injected and instantiated
            Assert.IsNotNull(testInstance.SpecialClass);
            Assert.AreNotEqual(testInstance.SpecialClass.DateRegistered, default(DateTime));
            Assert.AreNotEqual(testInstance.SpecialClass.UserID, default(int));
            Assert.AreNotEqual(testInstance.SpecialClass.Timestamp, default(long));
            Assert.IsNotNullOrEmpty(testInstance.SpecialClass.Name);
            Assert.IsNotNullOrEmpty(testInstance.SpecialClass.Email);
            Assert.IsTrue(_valid_email_regex.IsMatch(testInstance.SpecialClass.Email));

            //Assert that all of the fields on the main class have been injected and instantiated
            Assert.AreNotEqual(testInstance.Double1, default(double));
            Assert.AreNotEqual(testInstance.Float1, default(float));
            Assert.AreNotEqual(testInstance.Float2, default(float));
            Assert.AreNotEqual(testInstance.Long1, default(long));
            Assert.AreNotEqual(testInstance.Guid1, default(Guid));
            Assert.IsNotNullOrEmpty(testInstance.SampleString);
        }
        public void Should_Not_Populate_Fields_Of_Private_SubClass()
        {
            //Create a new instance of our test class
            var testInstance = new ComplexPocoTestClass();

            //Match the fields...
            _matcher.Match(testInstance);

            /* ASSERTIONS */

            //Assert that all of the fields on the sub-class have been injected and instantiated
            Assert.IsNotNull(testInstance.SpecialClass);
            Assert.AreNotEqual(testInstance.SpecialClass.DateRegistered, default(DateTime));
            Assert.AreNotEqual(testInstance.SpecialClass.UserID, default(int));
            Assert.AreNotEqual(testInstance.SpecialClass.Timestamp, default(long));
            Assert.IsNotNullOrEmpty(testInstance.SpecialClass.Name);
            Assert.IsNotNullOrEmpty(testInstance.SpecialClass.Email);
            Assert.IsTrue(_valid_email_regex.IsMatch(testInstance.SpecialClass.Email));

            //Assert that all of the fields on the main class have been injected and instantiated
            Assert.AreNotEqual(testInstance.Double1, default(double));
            Assert.AreNotEqual(testInstance.Float1, default(float));
            Assert.AreNotEqual(testInstance.Float2, default(float));
            Assert.AreNotEqual(testInstance.Long1, default(long));
            Assert.AreNotEqual(testInstance.Guid1, default(Guid));
            Assert.IsNotNullOrEmpty(testInstance.SampleString);
        }