Example #1
0
        public void NotValidateShareRegistrationData()
        {
            //Arrange
            var clientReposMock    = Substitute.For <IClientRepository>();
            var sharesReposMock    = Substitute.For <ISharesRepository>();
            var portfolioReposMock = Substitute.For <IPortfolioRepository>();
            var loggerMock         = Substitute.For <ILogger>();

            var sut = new ValidationService(
                clientReposMock,
                sharesReposMock,
                portfolioReposMock);

            ShareRegistrationData shareData = new ShareRegistrationData()
            {
                ShareType  = "754234",
                SharePrice = 0
            };

            //Act
            var isValid = sut.ValidateShareRegistrationData(shareData, loggerMock);

            //Assert
            Assert.AreEqual(false, isValid);
        }
 public bool ValidateShareRegistrationData(ShareRegistrationData shareData, ILogger logger)
 {
     if (shareData.SharePrice < 1)
     {
         logger.WriteWarning("Share can't costs less, than 1 dollar.");
         return(false);
     }
     return(true);
 }
Example #3
0
        public void RegisterShare(ShareRegistrationData shareData)
        {
            var newShare = new Share()
            {
                ShareType = shareData.ShareType,
                Price     = shareData.SharePrice,
            };

            shareRepository.Insert(newShare);
            shareRepository.SaveChanges();
        }
        public void RegisterShareTest()
        {
            // Arrange
            var shareRepositoryMock = Substitute.For <ISharesRepository>();

            var sut = new SharesService(shareRepositoryMock);

            ShareRegistrationData share = new ShareRegistrationData
            {
                ShareType  = "Toyota",
                SharePrice = (decimal)6021023
            };

            // Act
            sut.RegisterShare(share);

            // Asserts
            shareRepositoryMock.Received(1).Insert(Arg.Is <Share>(x => x.ShareType == share.ShareType && x.Price == share.SharePrice));
        }
Example #5
0
        public void RegisterShare()
        {
            ShareRegistrationData shareData = new ShareRegistrationData();

            inputOutputModule.WriteOutput("Write share type:");
            shareData.ShareType = inputOutputModule.ReadInput();

            inputOutputModule.WriteOutput("Write share price:");
            while (true)
            {
                try
                {
                    shareData.SharePrice = Convert.ToDecimal(inputOutputModule.ReadInput());
                    break;
                }

                catch (FormatException)
                {
                    inputOutputModule.WriteOutput("Please enter valid share price.");
                }
            }
            sharesService.RegisterShare(shareData);
        }