public async Task GivenAppService_WhenGetAllCalled_ThenAllPalindromesRetrievedBack() { //Arrange var expectedId = Guid.NewGuid(); var mockAppRepo = new Mock <IAppRepository>(); var modelList = new List <PalindromeModel> { new PalindromeModel { Id = Guid.NewGuid(), Phrase = "Was it a cat I saw" } }; mockAppRepo.Setup(x => x.GetAsync <PalindromeModel>(It.IsAny <Expression <Func <PalindromeModel, bool> > >(), It.IsAny <Func <IQueryable <PalindromeModel>, IOrderedQueryable <PalindromeModel> > >(), It.IsAny <IEnumerable <Expression <Func <PalindromeModel, object> > > >(), It.IsAny <int?>(), It.IsAny <int?>(), It.IsAny <bool>())) .ReturnsAsync(() => modelList); var mockModelValidator = new Mock <IModelValidator>(); var mockPaymentValidator = new Mock <PalindromeVmValidator>(); var autoMapperConfig = new MapperConfiguration(cfg => cfg.AddProfile(new AppProfile())); var objectMapper = new ObjectMapper(autoMapperConfig.CreateMapper()); var palindromeService = new PalindromeService(mockAppRepo.Object, mockModelValidator.Object, objectMapper); //Act var list = await palindromeService.GetAll(); //Assert list.Count().ShouldBe(modelList.Count()); mockAppRepo.Verify(x => x.GetAsync <PalindromeModel>(It.IsAny <Expression <Func <PalindromeModel, bool> > >(), It.IsAny <Func <IQueryable <PalindromeModel>, IOrderedQueryable <PalindromeModel> > >(), It.IsAny <IEnumerable <Expression <Func <PalindromeModel, object> > > >(), It.IsAny <int?>(), It.IsAny <int?>(), It.IsAny <bool>()), Times.Once); }
public AcceptanceTest() { var store = new PalindromeStore(); var finder = new PalindromeFinder(store); _outputFake = new OutputFake(); _palindromeService = new PalindromeService(finder, _outputFake); }
public void IsPalindrome_AllLowercaseNonPalindrome_ReturnsFalse(string value) { var palindromeService = new PalindromeService(); bool result = palindromeService.IsPalindrome(value); Assert.False(result); }
public void TestPalindromeReturnsNotPalindromeOnSingleWordNonPalindrome() { // Arrange var input = "banana"; // Act var result = PalindromeService.IsPalindrome(input); // Assert Assert.AreEqual("Not Palindrome", result); }
public void TestPalindromeReturnsPalindromeOnOddLengthSingleWordPalindrome() { // Arrange var input = "annna"; // Act var result = PalindromeService.IsPalindrome(input); // Assert Assert.AreEqual("Palindrome", result); }
public async Task ThenShouldSaveSuccessfully() { var service = new PalindromeService(_mockRepository.Object, _mockMapper.Object); var savedPalindrome = await service.SaveAsync(new CreatePalindromeModel() { Sequence = _dbModel.Sequence }); Assert.Equal(_dbModel.Id, savedPalindrome.Id); Assert.Equal(_dbModel.Sequence, savedPalindrome.Sequence); }
public async Task GivenAppService_WhenValidPhraseIsPassed_ThenViewModelValidated_And_PhraseAdded_And_IdRetrievedBack() { //Arrange var expectedId = Guid.NewGuid(); var mockAppRepo = new Mock <IAppRepository>(); PalindromeModel model = null; mockAppRepo.Setup(x => x.Create(It.IsAny <PalindromeModel>())).Callback((PalindromeModel x) => { model = x; }).Verifiable(); mockAppRepo.Setup(x => x.SaveAsync()).Callback(() => { model.Id = expectedId; }).Returns(Task.FromResult <object>(null)).Verifiable(); var mockModelValidator = new Mock <IModelValidator>(); var mockPaymentValidator = new Mock <PalindromeVmValidator>(); var autoMapperConfig = new MapperConfiguration(cfg => cfg.AddProfile(new AppProfile())); var objectMapper = new ObjectMapper(autoMapperConfig.CreateMapper()); var palindromeService = new PalindromeService(mockAppRepo.Object, mockModelValidator.Object, objectMapper); //Act var receiptNum = await palindromeService.Add(new PalindromeVm()); //Assert receiptNum.ShouldBe(expectedId); mockModelValidator.Verify(x => x.ValidateAsync <PalindromeVm, PalindromeVmValidator>(It.IsAny <PalindromeVm>()), Times.Once); mockAppRepo.Verify(x => x.SaveAsync(), Times.Once); mockAppRepo.Verify(x => x.Create(It.IsAny <PalindromeModel>()), Times.Once); }
public void TestSetup() { _palindromeService = new PalindromeService(); }