public void SutDoesNotEqualAnonymousObject()
        {
            var sut       = new AnyAdditionalApplicantsSpecification();
            var anonymous = new object();

            var actual = sut.Equals(anonymous);

            Assert.False(actual);
        }
        public void SutEqualsOther()
        {
            var sut   = new AnyAdditionalApplicantsSpecification();
            var other = new AnyAdditionalApplicantsSpecification();

            var actual = sut.Equals(other);

            Assert.True(actual);
        }
        public void IsSatisfiedByAplicationWithNoAdditionalApplicantsReturnsFalse()
        {
            var application = new MortgageApplication();
            var sut         = new AnyAdditionalApplicantsSpecification();

            var actual = sut.IsSatisfiedBy(application);

            Assert.False(actual);
        }
        public void IsSatisfiedByApplicationWithAdditionalApplicantsReturnsTrue()
        {
            var application = new MortgageApplication();

            application.AdditionalApplicants.Add(new Applicant());
            application.AdditionalApplicants.Add(new Applicant());
            var sut = new AnyAdditionalApplicantsSpecification();

            var actual = sut.IsSatisfiedBy(application);

            Assert.True(actual);
        }
        public void SutIsMortgageApplicationSpecification()
        {
            var sut = new AnyAdditionalApplicantsSpecification();

            Assert.IsAssignableFrom <IMortgageApplicationSpecification>(sut);
        }