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); }