예제 #1
0
        public void ToDomain_WhenAccountIsNotNull_ReturnsCreditInfo()
        {
            ICreditInfoCommand sut = CreateSut();

            ICreditInfo result = sut.ToDomain(_fixture.BuildAccountMock().Object);

            Assert.That(result, Is.TypeOf <CreditInfo>());
        }
예제 #2
0
        public void ToDomain_WhenAccountIsNull_ThrowsArgumentNullException()
        {
            ICreditInfoCommand sut = CreateSut();

            ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.ToDomain(null));

            Assert.That(result.ParamName, Is.EqualTo("account"));
        }
예제 #3
0
        public void Validate_WhenCalled_ReturnsValidator()
        {
            ICreditInfoCommand sut = CreateSut();

            IValidator result = sut.Validate(_validatorMockContext.ValidatorMock.Object);

            Assert.That(result, Is.EqualTo(_validatorMockContext.ValidatorMock.Object));
        }
예제 #4
0
        public void Validate_WhenValidatorIsNull_ThrowsArgumentNullException()
        {
            ICreditInfoCommand sut = CreateSut();

            ArgumentNullException result = Assert.Throws <ArgumentNullException>(() => sut.Validate(null));

            Assert.That(result.ParamName, Is.EqualTo("validator"));
        }
예제 #5
0
        public void ToDomain_WhenAccountIsNotNull_ReturnsCreditInfoWhereCreditIsEqualToCreditInCreditInfoCommand()
        {
            decimal            credit = _fixture.Create <decimal>();
            ICreditInfoCommand sut    = CreateSut(credit: credit);

            ICreditInfo result = sut.ToDomain(_fixture.BuildAccountMock().Object);

            Assert.That(result.Credit, Is.EqualTo(credit));
        }
예제 #6
0
        public void ToDomain_WhenAccountIsNotNull_ReturnsCreditInfoWhereMonthIsEqualToMonthInCreditInfoCommand()
        {
            short month            = (short)_random.Next(CreditInfo.MinMonth, CreditInfo.MaxMonth);
            ICreditInfoCommand sut = CreateSut(month: month);

            ICreditInfo result = sut.ToDomain(_fixture.BuildAccountMock().Object);

            Assert.That(result.Month, Is.EqualTo(month));
        }
예제 #7
0
        public void ToDomain_WhenAccountIsNotNull_ReturnsCreditInfoWhereYearIsEqualToYearInCreditInfoCommand()
        {
            short year             = (short)_random.Next(CreditInfo.MinYear, CreditInfo.MaxYear);
            ICreditInfoCommand sut = CreateSut(year);

            ICreditInfo result = sut.ToDomain(_fixture.BuildAccountMock().Object);

            Assert.That(result.Year, Is.EqualTo(year));
        }
예제 #8
0
        public void ToDomain_WhenAccountIsNotNull_ReturnsCreditInfoWhereAccountIsEqualToArgument()
        {
            ICreditInfoCommand sut = CreateSut();

            IAccount    account = _fixture.BuildAccountMock().Object;
            ICreditInfo result  = sut.ToDomain(account);

            Assert.That(result.Account, Is.EqualTo(account));
        }
예제 #9
0
        public void Validate_WhenCalled_AssertShouldBeGreaterThanOrEqualToZeroWasCalledOnDecimalValidatorWithCredit()
        {
            decimal            credit = _fixture.Create <short>();
            ICreditInfoCommand sut    = CreateSut(credit);

            sut.Validate(_validatorMockContext.ValidatorMock.Object);

            _validatorMockContext.DecimalValidatorMock.Verify(m => m.ShouldBeGreaterThanOrEqualToZero(
                                                                  It.Is <decimal>(value => value == credit),
                                                                  It.Is <Type>(type => type == sut.GetType()),
                                                                  It.Is <string>(field => string.CompareOrdinal(field, "Credit") == 0)),
                                                              Times.Once());
        }