public void PatientMustHaveAtLeastOneValidInsurancePolicy() { PatientValidator v = new PatientValidator(); // No policies { Patient p = getValidPatient_noPolicy(); // This requires a setter for InsurancePolicies, which is not what i want for any other purpose //var result = v.ShouldHaveValidationErrorFor(pat => pat.InsurancePolicies, p); // So we do this instead which will break at runtime if the name of the property changes var result = v.Validate(p); Assert.IsFalse(result.IsValid); Assert.IsTrue(result.Errors.Count == 1); Assert.IsTrue(result.Errors[0].PropertyName == "InsurancePolicies"); } // Has an invalid policy { Patient p = getValidPatient_noPolicy(); p.AddInsurancePolicy(InsurancePolicyUnitTests.getInvalidInsurancePolicy()); var result = v.Validate(p); Assert.IsFalse(result.IsValid); } // Has an invalid and valid policy { Patient p = getValidPatient_noPolicy(); p.AddInsurancePolicy(InsurancePolicyUnitTests.getInvalidInsurancePolicy()); p.AddInsurancePolicy(InsurancePolicyUnitTests.getValidInsurancePolicy()); var result = v.Validate(p); Assert.IsFalse(result.IsValid); } { // Has only valid policy Patient p = getValidPatient_noPolicy(); p.AddInsurancePolicy(InsurancePolicyUnitTests.getValidInsurancePolicy()); var result = v.Validate(p); Assert.IsTrue(result.IsValid); } }
public void TOJsonMethodReturnsNonemptyString() { Patient p = getValidPatient(); p.AddInsurancePolicy(new InsurancePolicy() { PolicyNumber = "fjeioaj3", ProviderName = "testprovider" }); string json = p.ToJSON(); Assert.IsNotNull(json); Assert.AreNotEqual(json, string.Empty); }