コード例 #1
0
ファイル: EligibilityTest.cs プロジェクト: pratikgcet/Zopa
        public void GivenCorrectinputs_WhenRequestedLessThanAvailableMatchFound_ThenEligible()
        {
            var reader = new Mock <IReader>();
            var lender = new Lenders {
                Name = "Bob", Amount = 1000, Rate = 0.075m
            };

            reader.Setup(x => x.Read(It.IsAny <string>())).Returns(new List <Lenders> {
                lender
            });

            var output = new Mock <IOutputStream>();

            output.Setup(x => x.Write(It.IsAny <QuoteResults>()))
            .Verifiable();

            var calcEngine = new Mock <ICalculator>();

            var args = new[] { "market.csv", 1000.ToString() };

            var calculationApp = new CalculateRateApp(
                reader.Object,
                output.Object,
                calcEngine.Object, 36);

            calculationApp.Run(args);

            output.Verify();
        }
コード例 #2
0
        public void GivenNullArguments_WhenRun_ThenThrowException()
        {
            var       calc   = new Mock <ICalculator>();
            var       output = new Mock <IOutputStream>();
            var       reader = new Mock <IReader>();
            const int length = 36;

            var calcApp = new CalculateRateApp(reader.Object, output.Object, calc.Object, length);

            Assert.Catch <ArgumentException>(() => calcApp.Run(null));
        }
コード例 #3
0
        public void WhenSecondInputIsNotInteger_ThrowArgumentNullException()
        {
            var       calc   = new Mock <ICalculator>();
            var       output = new Mock <IOutputStream>();
            var       reader = new Mock <IReader>();
            const int length = 36;

            var calcApp = new CalculateRateApp(reader.Object, output.Object, calc.Object, length);

            Assert.Throws <ArgumentNullException>(() => calcApp.Run(new List <string> {
                "market.csv", "String"
            }));
        }
コード例 #4
0
        public void WhenLoanAmountIsGreaterThen15000_ThrowArgumentException()
        {
            var       calc   = new Mock <ICalculator>();
            var       output = new Mock <IOutputStream>();
            var       reader = new Mock <IReader>();
            const int length = 36;

            var calcApp = new CalculateRateApp(reader.Object, output.Object, calc.Object, length);
            var args    = new List <string> {
                "market.csv", "15001"
            };

            Assert.Catch <ArgumentException>(() => calcApp.Run(args));
        }
コード例 #5
0
        public void GivenLessArguments_WhenRun_ThenThrowException()
        {
            var       calc   = new Mock <ICalculator>();
            var       output = new Mock <IOutputStream>();
            var       reader = new Mock <IReader>();
            const int length = 36;

            var calcApp = new CalculateRateApp(reader.Object, output.Object, calc.Object, length);
            var args    = new List <string> {
                "market.csv"
            };

            Assert.Catch <ArgumentException>(() => calcApp.Run(args));
        }
コード例 #6
0
ファイル: EligibilityTest.cs プロジェクト: pratikgcet/Zopa
        public void GivenCorrectinputs_WhenNoMatchFound_ThenNotEligible()
        {
            var reader = new Mock <IReader>();

            reader.Setup(x => x.Read(It.IsAny <string>())).Returns(new List <Lenders>());

            var output = new Mock <IOutputStream>();

            output.Setup(x => x.NoQuoteMessage())
            .Verifiable();

            var calcEngine = new Mock <ICalculator>();

            var args = new[] { "market.csv", 1000.ToString() };

            var calculationApp = new CalculateRateApp(
                reader.Object,
                output.Object,
                calcEngine.Object, 36);

            calculationApp.Run(args);

            output.Verify();
        }