public void LoadData_ShouldReturnSpreadsheetDataList() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); var spreadsheetDataList = dataImport.CatalogData; // Act dataImport.LoadData(); // Assert spreadsheetDataList.Should().HaveSameCount(data.CatalogTestsDataList); for (int i = 0; i < spreadsheetDataList.Count; i++) { var spreadsheetData = spreadsheetDataList[i]; var catalogData = data.CatalogTestsDataList[i]; var color = spreadsheetData.Category.Substring(2).Insert(0, "#"); spreadsheetData.Title.Should().Be(catalogData.Title); spreadsheetData.Author.Should().Be(catalogData.Author); spreadsheetData.Series.Should().Be(catalogData.Series); spreadsheetData.PublishingHouse.Should().Be(catalogData.PublishingHouse); spreadsheetData.Town.Should().Be(catalogData.Town); spreadsheetData.Year.Should().Be(catalogData.Year); spreadsheetData.Language.Should().Be(catalogData.Language); spreadsheetData.ISBN.Should().Be(catalogData.ISBN); spreadsheetData.StoragePlace.Should().Be(catalogData.StoragePlace); spreadsheetData.Comment.Should().Be(catalogData.Comment); color.Should().Be(catalogData.ColorCode); } package.File.Delete(); }
public void ImportStoragePlacesList_Null_ShouldReturnStoragePlacesListWithoutOneElement() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); var emptyStorageElement = data.CatalogTestsDataList[0]; emptyStorageElement.StoragePlace = null; data.CatalogTestsDataList.Add(emptyStorageElement); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var storagePlaces = dataImport.ImportStoragePlacesList(); // Assert storagePlaces.Should().HaveCount(data.StoragePlaceTestsDataList.Count + data.CatalogTestsDataList.Count - 2); var catalogData = data.CatalogTestsDataList; var storagePlaceData = data.StoragePlaceTestsDataList; foreach (var storagePlace in storagePlaces) { storagePlace.Id.Should().NotBeEmpty(); } storagePlaces.Should().OnlyContain(a => catalogData.Any(b => b.StoragePlace == a.StoragePlaceName) || storagePlaceData.Any(b => b.StoragePlaceName == a.StoragePlaceName)); package.File.Delete(); }
public void ImportBooksList_ShouldReturnBooksList() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var books = dataImport.ImportBooksList(); // Assert books.Should().HaveSameCount(data.CatalogTestsDataList); for (int i = 0; i < books.Count; i++) { var book = books[i]; var catalogData = data.CatalogTestsDataList[i]; book.Id.Should().NotBeEmpty(); book.Title.Should().Be(catalogData.Title); book.PublishmentYear.Should().Be(Convert.ToInt32(catalogData.Year)); book.ISBN.Should().Be(catalogData.ISBN); book.Language.Should().Be(catalogData.LanguageEnum); book.Comment.Should().Be(catalogData.Comment); } package.File.Delete(); }
public void ImportStoragePlacesList_EmptyStoragePlaceExcel_ShouldReturnStoragePlacesListFromCatalogExcel() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); data.StoragePlaceTestsDataList.Clear(); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var storagePlaces = dataImport.ImportStoragePlacesList(); // Assert storagePlaces.Should().HaveCount(data.CatalogTestsDataList.Count); for (int i = 0; i < storagePlaces.Count; i++) { var storagePlace = storagePlaces[i]; var storagePlaceData = data.CatalogTestsDataList[i]; storagePlace.Id.Should().NotBeEmpty(); storagePlace.StoragePlaceName.Should().Be(storagePlaceData.StoragePlace); storagePlace.Comment.Should().BeNull(); } package.File.Delete(); }
public void ImportAuthorList_EmptyExcel_ShouldReturnEmptyAuthorsList() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); data.CatalogTestsDataList.Clear(); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var authors = dataImport.ImportAuthorsList(); // Assert authors.Should().BeEmpty(); package.File.Delete(); }
public void LoadData_EmptyExcel_ShouldReturnEmptySpreadsheetDataList() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); data.CatalogTestsDataList.Clear(); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); var spreadsheetDataList = dataImport.CatalogData; // Act dataImport.LoadData(); // Assert spreadsheetDataList.Should().BeEmpty(); package.File.Delete(); }
public void ImportAuthorsList_Duplicates_ShouldReturnAuthorsListWithoutDuplicates() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); data.CatalogTestsDataList.Add(data.CatalogTestsDataList[0]); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var authors = dataImport.ImportAuthorsList(); // Assert authors.Should().HaveCount(data.CatalogTestsDataList.Count - 1); authors.Should().OnlyHaveUniqueItems(); package.File.Delete(); }
public void ImportCategoriesList_ShouldReturnCategories() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var categories = dataImport.ImportCategoriesList(); // Assert categories.Should().HaveSameCount(data.CategoryTestsDataList); for (int i = 0; i < categories.Count; i++) { var category = categories[i]; var categoryData = data.CategoryTestsDataList[i]; category.Should().BeEquivalentTo(categoryData.CategoryName); } package.File.Delete(); }
public void ImportPublishingHousesList_ShouldReturnPublishingHousesList() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var publishingHouses = dataImport.ImportPublishingHousesList(); // Assert publishingHouses.Should().HaveSameCount(data.CatalogTestsDataList); for (int i = 0; i < publishingHouses.Count; i++) { var publishingHouse = publishingHouses[i]; var catalogData = data.CatalogTestsDataList[i]; publishingHouse.Id.Should().NotBeEmpty(); publishingHouse.PublisherName.Should().Be(catalogData.PublishingHouse); } package.File.Delete(); }
public void ImportSeriesList_ShouldReturnSeriesList() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var seriesList = dataImport.ImportSeriesListInfo(); // Assert seriesList.Should().HaveSameCount(data.CatalogTestsDataList); for (int i = 0; i < seriesList.Count; i++) { var series = seriesList[i]; var catalogData = data.CatalogTestsDataList[i]; series.Id.Should().NotBeEmpty(); series.SeriesName.Should().Be(catalogData.SeriesName); series.VolumeNumber.Should().Be(catalogData.VolumeNumber); } package.File.Delete(); }
public void ImportStoragePlacesList_DuplicatesWithEmptyDescription_ShouldReturnStoragePlacesListWithoutDuplicatesWithElementWithDescription() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); var catalogDataToDouble = data.CatalogTestsDataList[0]; var doubleData = new CatalogExcelTestData() { Title = catalogDataToDouble.Title, AuthorFirstName = catalogDataToDouble.AuthorFirstName, AuthorLastName = catalogDataToDouble.AuthorLastName, Series = catalogDataToDouble.Series, SeriesName = catalogDataToDouble.SeriesName, VolumeNumber = catalogDataToDouble.VolumeNumber, PublishingHouse = catalogDataToDouble.PublishingHouse, Town = catalogDataToDouble.Town, StoragePlace = data.StoragePlaceTestsDataList[0].StoragePlaceName, Year = catalogDataToDouble.Year, ISBN = catalogDataToDouble.ISBN, Language = catalogDataToDouble.Language, Comment = catalogDataToDouble.Comment }; data.CatalogTestsDataList.Add(doubleData); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var storagePlaces = dataImport.ImportStoragePlacesList(); // Assert storagePlaces.Should().HaveCount(data.CatalogTestsDataList.Count + data.StoragePlaceTestsDataList.Count - 1); storagePlaces.Should().OnlyHaveUniqueItems(); storagePlaces.Should().Contain(a => a.Comment == data.StoragePlaceTestsDataList[0].Description); package.File.Delete(); }
public void ImportAuthorsList_ShouldReturnAuthorsList() { // Arrange using var package = new ExcelPackage(); var data = new TestExcelData(); package.CreateTestsExcel(data); using var dataImport = new SpreadsheetDataImport(data.FileName); // Act var authors = dataImport.ImportAuthorsList(); // Assert authors.Should().HaveSameCount(data.CatalogTestsDataList); for (int i = 0; i < authors.Count; i++) { var author = authors[i]; var catalogData = data.CatalogTestsDataList[i]; author.Id.Should().NotBeEmpty(); author.FirstName.Should().Be(catalogData.AuthorFirstName); author.LastName.Should().Be(catalogData.AuthorLastName); } package.File.Delete(); }