public void _should_encrypt_before_sending()
        {
            _cryptoMock.Setup(x => x.Encrypt(It.Is <string>(s => s == input))).Verifiable();
            _loggerMock.Setup(x => x.Info(It.IsAny <string>())).Verifiable();

            var sut = new FedExSender(_cryptoMock.Object, _loggerMock.Object);

            sut.Send(input);

            _cryptoMock.Verify(x => x.Encrypt(It.Is <string>(s => s == input)), Times.Once);
            _loggerMock.Verify(x => x.Info(It.IsAny <string>()), Times.Once);
            _loggerMock.Verify(x => x.Error(It.IsAny <string>()), Times.Never);
        }
        public void Should_Encrypt_First()
        {
            var cryptoMock = new Mock <IEncryptHelper>();

            cryptoMock.Setup(x => x.Encrypt(It.Is <string>((str) => str == expectedText))).Returns(cryptoText).Verifiable();

            var loggerMock = new Mock <IAppLogger>();

            var sut = new FedExSender(cryptoMock.Object, loggerMock.Object);

            sut.Send(expectedText);

            cryptoMock.VerifyAll();
        }
Beispiel #3
0
        static SuperApplicationConsoleApp AppComposite()
        {
            IEncryptHelper crypto = new nope.Lib.Encryptor();

            external.ILogger logger   = new external.Logger();                   // Not singleton
            IAppLogger       myLogger = new ExternalLogAdapter(logger);
            IMessageSender   sender   = new FedExSender(crypto, myLogger);

            var basePriceRules = getBasePriceRules();
            var extPriceRules  = getExtendedPriceRules();

            ICostCalculator  calc      = new CostCalculator(basePriceRules, extPriceRules, myLogger);
            ISendingMicroApp senderApp = new SuperSendingMicroApp(calc, sender, myLogger);

            IConsole writer = new ConsoleWriter();

            return(new SuperApplicationConsoleApp(senderApp, writer));
        }