public void TestAddComic() { Comic comic1 = new Comic("De legende van het Westen", new Series("Lucky Luke"), 73, new List <Author>() { new Author("Morris"), new Author("Nordmann Patrick") }, new Publisher("Dupuis")); Comic comic2 = new Comic("Oklahoma Jim", new Series("Lucky Luke"), 69, new List <Author>() { new Author("Léturgie Jean"), new Author("Morris"), new Author("Conrad Didier"), new Author("Pearce") }, new Publisher("Dupuis")); ComicRepository cr = new ComicRepository(context); cr.AddComic(comic1); cr.AddComic(comic2); var result = cr.GetComics(); result.Should().HaveCount(2); result.First().Title.Should().Be("De legende van het Westen"); result.First().Series.Name.Should().Be("Lucky Luke"); result.First().SeriesNumber.Should().Be(73); result.First().Publisher.Name.Should().Be("Dupuis"); result.First().Authors.Should().HaveCount(2); result.First().Authors.First().Name.Should().Be("Morris"); result.First().Authors.ElementAt(1).Name.Should().Be("Nordmann Patrick"); result.ElementAt(1).Title.Should().Be("Oklahoma Jim"); result.ElementAt(1).Series.Name.Should().Be("Lucky Luke"); result.ElementAt(1).SeriesNumber.Should().Be(69); result.ElementAt(1).Publisher.Name.Should().Be("Dupuis"); result.ElementAt(1).Authors.Should().HaveCount(4); result.ElementAt(1).Authors.First().Name.Should().Be("Léturgie Jean"); result.ElementAt(1).Authors.ElementAt(3).Name.Should().Be("Pearce"); context.Dispose(); }
public void VerifyRepoSavesComicTitles() { // Setup ComicRepository cr = new ComicRepository(); List <ComicTitle> comicList = new List <ComicTitle>(); cr.DeleteAllSubscriptions(); // Arrange for (var i = 0; i < 5; i++) { comicList.Add(new ComicTitle { Name = "TestTitle" + i, Url = "TestUrl" + i, IconUrl = "TestIconUrl" + i }); } // Act cr.SaveSubscription(comicList[0]); List <ComicTitle> comicTitlesFromStorage = cr.GetSubscriptionList(); // Assert Assert.AreEqual(comicList[0].Name, comicTitlesFromStorage[0].Name); }
public async Task Test_No_Next_Comic_When_Current_Is_Last() { //Arrange int mockId = 1000; int?nextValidId = null; var mockComicApi = new Mock <IXKCDApi>(); mockComicApi.Setup(api => api.GetFirstComicId()) .ReturnsAsync(GetValidMockedFirstComicId()); mockComicApi.Setup(api => api.GetComicOfTheDay()) .ReturnsAsync(GetValidMockedComicOfTheDay()); mockComicApi.Setup(api => api.GetComicById(nextValidId ?? default)) .ReturnsAsync(GetInvalidComic()); var comicRepository = new ComicRepository(mockComicApi.Object); //Act var result = await comicRepository.GetNextComicId(mockId); var nextComic = await comicRepository.GetComicById(nextValidId ?? default); var lastComicId = await comicRepository.GetLastComicId(); //Assert Assert.Null(result); Assert.Equal(nextValidId, result); Assert.Null(nextComic); Assert.Equal(lastComicId, mockId); }
public TitlePage() { InitializeComponent(); ComicRepository cr = new ComicRepository(); List <ComicTitle> subscriptions; _comicParser = new ComicParserService(); hideComicsButton.IsVisible = false; comicsTitles.IsVisible = false; // get user subscriptions subscriptions = cr.GetSubscriptionList(); if (subscriptions == null) { subscriptions = new List <ComicTitle>(); } comicTitles = _comicParser.GetComicTitles(); if (comicTitles == null) { comicTitles = new List <ComicTitle>(); } // get subscribed comics subscribedComicTitles = new ObservableCollection <ComicTitle>(subscriptions); UpdateDataBinding(); }
private void UpdateDataBinding() { ComicRepository cr = new ComicRepository(); subscribredComicTitles.ItemsSource = cr.GetSubscriptionList(); comicsTitles.ItemsSource = comicTitles .Where(ct => !subscribedComicTitles.Any(s => s.Name == ct.Name)); }
void OnUnsubbedComicTapped(object sender, ItemTappedEventArgs e) { var comicTitle = e.Item as ComicTitle; ComicRepository cr = new ComicRepository(); cr.SaveSubscription(comicTitle); UpdateDataBinding(); Device.BeginInvokeOnMainThread(() => { DisplayAlert("Success", $"{comicTitle.Name} has been added!", "OK"); }); }
void OnDeleteClicked(object sender, EventArgs args) { var button = sender as Button; var comicTitle = button.Parent.BindingContext as ComicTitle; ComicRepository cr = new ComicRepository(); cr.DeleteSubscription(comicTitle); subscribedComicTitles = new ObservableCollection <ComicTitle>(cr.GetSubscriptionList()); comicsTitles.ItemsSource = comicTitles .Where(ct => !subscribedComicTitles.Any(s => s.ComicTitleId == ct.ComicTitleId)); UpdateDataBinding(); }
public void TestUpdateSeries() { ComicRepository cr = new ComicRepository(context); Series seriestoUpdate = new Series("series1"); Series updated = new Series("series2"); cr.AddSeries(seriestoUpdate); var result1 = cr.GetAllSeries(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("series1"); cr.UpdateSeries(seriestoUpdate, updated); result1 = cr.GetAllSeries(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("series2"); context.Dispose(); }
public void TestUpdatePubliher() { ComicRepository cr = new ComicRepository(context); Publisher publishertoUpdate = new Publisher("publisher1"); Publisher updated = new Publisher("publisher2"); cr.AddPublisher(publishertoUpdate); var result1 = cr.GetAllPublishers(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("publisher1"); cr.UpdatePublisher(publishertoUpdate, updated); result1 = cr.GetAllPublishers(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("publisher2"); context.Dispose(); }
/// <summary> /// Makes a UnitOfWork that establishes a connection the the database. /// </summary> /// <param name="db">Which database to use, defult is production.</param> public UnitOfWork(string db = "Production") { context = new AdoNetContext(true, db); if (Comics == null) { Comics = new ComicRepository(context); } if (Orders == null) { Orders = new OrderRepository(context); } if (Deliveries == null) { Deliveries = new DeliveryRepository(context); } }
public void TestUpdateAuthor() { ComicRepository cr = new ComicRepository(context); Author authortoUpdate = new Author("author1"); Author updated = new Author("author2"); cr.AddAuthor(authortoUpdate); var result1 = cr.GetAllAuthors(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("author1"); cr.UpdateAuthor(authortoUpdate, updated); result1 = cr.GetAllAuthors(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("author2"); context.Dispose(); }
public void TestAddPublisher() { ComicRepository cr = new ComicRepository(context); Publisher publisher1 = new Publisher("publisher1"); Publisher publisher2 = new Publisher("publisher2"); var result1 = cr.GetAllPublishers(); result1.Should().HaveCount(0); cr.AddPublisher(publisher1); result1 = cr.GetAllPublishers(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("publisher1"); cr.AddPublisher(publisher2); result1 = cr.GetAllPublishers(); result1.Should().HaveCount(2); result1.ElementAt(1).Name.Should().Be("publisher2"); context.Dispose(); }
public void TestAddAuthor() { ComicRepository cr = new ComicRepository(context); Author author1 = new Author("author1"); Author author2 = new Author("author2"); var result1 = cr.GetAllAuthors(); result1.Should().HaveCount(0); cr.AddAuthor(author1); result1 = cr.GetAllAuthors(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("author1"); cr.AddAuthor(author2); result1 = cr.GetAllAuthors(); result1.Should().HaveCount(2); result1.First().Name.Should().Be("author1"); result1.ElementAt(1).Name.Should().Be("author2"); context.Dispose(); }
public void TestAddSeries() { ComicRepository cr = new ComicRepository(context); Series series1 = new Series("series1"); Series series2 = new Series("series2"); var result1 = cr.GetAllSeries(); result1.Should().HaveCount(0); cr.AddSeries(series1); result1 = cr.GetAllSeries(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("series1"); cr.AddSeries(series2); result1 = cr.GetAllSeries(); result1.Should().HaveCount(2); result1.First().Name.Should().Be("series1"); result1.ElementAt(1).Name.Should().Be("series2"); context.Dispose(); }
public async Task Test_ComicId_In_ValidRange() { //Arrange int mockId = 100; var mockComicApi = new Mock <IXKCDApi>(); mockComicApi.Setup(api => api.GetFirstComicId()) .ReturnsAsync(GetValidMockedFirstComicId()); mockComicApi.Setup(api => api.GetComicOfTheDay()) .ReturnsAsync(GetValidMockedComicOfTheDay()); var comicRepository = new ComicRepository(mockComicApi.Object); //Act var result = await comicRepository.IsComicInValidRange(mockId); //Assert Assert.NotNull(result); Assert.Equal(1, result.FirstComicId); Assert.Equal(1000, result.LastComicId); Assert.True(result.IsValid); }
public void CheckDuplicateAuthor() { ComicRepository cr = new ComicRepository(context); Author author1 = new Author("author1"); Author author2 = new Author("author1"); cr.AddAuthor(author1); cr.AddAuthor(author2); var result1 = cr.GetAllAuthors(); result1.Should().HaveCount(1); result1.First().Name.Should().Be("author1"); Author author3 = new Author("author3"); cr.AddAuthor(author3); var result2 = cr.GetAllAuthors(); result2.Should().HaveCount(2); context.Dispose(); }
public async Task Test_Previous_Valid_Comic_When_Current_Is_Not_First() { //Arrange int mockId = 406; int previousValidId = 403; var mockComicApi = new Mock <IXKCDApi>(); mockComicApi.Setup(api => api.GetFirstComicId()) .ReturnsAsync(GetValidMockedFirstComicId()); mockComicApi.Setup(api => api.GetComicOfTheDay()) .ReturnsAsync(GetValidMockedComicOfTheDay()); mockComicApi.Setup(api => api.GetComicById(404)) .ReturnsAsync(GetInvalidComic()); mockComicApi.Setup(api => api.GetComicById(405)) .ReturnsAsync(GetInvalidComic()); mockComicApi.Setup(api => api.GetComicById(previousValidId)) .ReturnsAsync(GetMockedComicById(previousValidId)); var comicRepository = new ComicRepository(mockComicApi.Object); //Act var result = await comicRepository.GetPreviousComicId(mockId); var previousComic = await comicRepository.GetComicById(previousValidId); //Assert Assert.NotNull(result); Assert.Equal(previousValidId, result); Assert.NotNull(previousComic); Assert.Equal(previousComic.Num, result); Assert.Equal($"Testing {result.Value}", previousComic.Alt); Assert.Equal($"Test comic {result.Value}", previousComic.SafeTitle); Assert.Equal($"Test comic {result.Value}", previousComic.Title); mockComicApi.Verify(mock => mock.GetComicById(mockId - 1), Times.Once()); mockComicApi.Verify(mock => mock.GetComicById(mockId - 2), Times.Once()); //Because of the fetch during the act mockComicApi.Verify(mock => mock.GetComicById(previousValidId), Times.Exactly(2)); mockComicApi.Verify(mock => mock.GetComicById(mockId - 4), Times.Never()); }
public void CheckDuplicateComic() { ComicRepository cr = new ComicRepository(context); Comic comic1 = new Comic("De legende van het Westen", new Series("Lucky Luke"), 73, new List <Author>() { new Author("Morris"), new Author("Nordmann Patrick") }, new Publisher("Dupuis")); Comic comic2 = new Comic("De legende van het Westen", new Series("Lucky Luke"), 73, new List <Author>() { new Author("Morris"), new Author("Nordmann Patrick") }, new Publisher("Dupuis")); cr.AddComic(comic1); cr.AddComic(comic2); var result = cr.GetComics(); result.Should().HaveCount(1); result.First().Title.Should().Be("De legende van het Westen"); result.First().Series.Name.Should().Be("Lucky Luke"); result.First().SeriesNumber.Should().Be(73); result.First().Publisher.Name.Should().Be("Dupuis"); result.First().Authors.Should().HaveCount(2); result.First().Authors.First().Name.Should().Be("Morris"); result.First().Authors.ElementAt(1).Name.Should().Be("Nordmann Patrick"); Comic comic3 = new Comic("De legende van het Westen Part 2", new Series("Lucky Luke"), 73, new List <Author>() { new Author("Morris"), new Author("Nordmann Patrick") }, new Publisher("Dupuis")); cr.AddComic(comic3); result = cr.GetComics(); result.Should().HaveCount(2); result.First().Title.Should().Be("De legende van het Westen"); result.ElementAt(1).Title.Should().Be("De legende van het Westen Part 2"); context.Dispose(); }
public async Task Test_No_Next_Comic_When_Current_Is_Invalid() { //Arrange int mockId = 10000; int?nextValidId = null; var mockComicApi = new Mock <IXKCDApi>(); mockComicApi.Setup(api => api.GetFirstComicId()) .ReturnsAsync(GetValidMockedFirstComicId()); mockComicApi.Setup(api => api.GetComicOfTheDay()) .ReturnsAsync(GetValidMockedComicOfTheDay()); mockComicApi.Setup(api => api.GetComicById(mockId)) .ReturnsAsync(GetInvalidComic()); var comicRepository = new ComicRepository(mockComicApi.Object); //Act var result = await comicRepository.GetPreviousComicId(mockId); //Assert Assert.Null(result); Assert.Equal(nextValidId, result); mockComicApi.Verify(mock => mock.GetComicById(mockId + 1), Times.Never()); }
public ComicBooksController() { _comicbookRepo = new ComicRepository(); }
public ComicBooksController() { comicRepository = new ComicRepository(); }
private List <ComicTitle> GetUserSubscriptions(int userId) { ComicRepository cr = new ComicRepository(); return(cr.GetSubscriptionList()); }
public ComicController() { _comicRepository = new ComicRepository(); }