public void RemoveVersion_TheProductHasMoreThanOneVersion_RemovesTheVersionAndWritesThisToLog() { //Arrange string productName = "productName"; Version firstVersion = CreateNewVersion("1.1.1"); Version removableVersion = CreateNewVersion("1.1.2"); CurrentProductRepository.AddVersion(productName, firstVersion); CurrentProductRepository.AddVersion(productName, removableVersion); Product product = CurrentProductRepository.GetProducts().FirstOrDefault(); //Act CurrentProductRepository.RemoveVersion(productName, removableVersion.ProductVersion); //Assert bool productStillExistsInRepository = IsThereProduct(product); bool isRemovedVersionExistInRepository = IsThereVersion(productName, removableVersion); string expectedMessage = $"Версия {removableVersion.ProductVersion} продукта {productName} успешно удалена"; string actualMessage = _lastMessageFromLog; Assert.True(productStillExistsInRepository); Assert.False(isRemovedVersionExistInRepository); Assert.AreEqual(expectedMessage, actualMessage); }
public void RemoveVersion_TheProductHasOnlyOneVersion_RemovesTheVersionAndTheProductAndWritesThisToLog() { //Arrange string productName = "productName"; Version removableVersion = CreateNewVersion("1.1.1"); CurrentProductRepository.AddVersion(productName, removableVersion); //Act CurrentProductRepository.RemoveVersion(productName, removableVersion.ProductVersion); //Assert Product potentiallyRemovedProduct = new Product(productName); potentiallyRemovedProduct.InitializeLatestVersion(removableVersion); bool isRemovedVersionExistInRepository = IsThereVersion(productName, removableVersion); bool isRemovedProductExistInRepository = IsThereProduct(potentiallyRemovedProduct); string expectedMessage = $"Продукт {productName} успешно удален"; string actualMessage = _lastMessageFromLog; Assert.False(isRemovedVersionExistInRepository); Assert.False(isRemovedProductExistInRepository); Assert.AreEqual(expectedMessage, actualMessage); }
public void UpdateVersion_UpdatableVersionExistInRepository_UpdateVersionInRepositoryAndWriteToLogThisReport() { //Arrange string productName = "productName"; Version firstVersion = CreateNewVersion("1.1.1"); CurrentProductRepository.AddVersion(productName, firstVersion); Version newVersion = new Version(firstVersion.ProductVersion, "newShortDesc", "newLongDesc", "newChanges", "newFileName", "newFileUrl"); //Act CurrentProductRepository.UpdateVersion(productName, newVersion); //Assert bool isFirstVersionExistInRepository = IsThereVersion(productName, CreateNewVersion("1.1.1")); bool isUpdatableVersionExistInRepository = IsThereVersion(productName, newVersion); string expectedMessage = $"Версия {firstVersion.ProductVersion} продукта {productName} успешно обновлена"; string actualMessage = _lastMessageFromLog; Assert.False(isFirstVersionExistInRepository); Assert.True(isUpdatableVersionExistInRepository); Assert.AreEqual(expectedMessage, actualMessage); }
public void UpdateVersion_UpdatableProductNotFoundInRepository_ReturnsFalseAndWriteToLogAboutNonExistentUpdatableProduct() { //Arrange string productName = "productName"; Version updatableVersion = CreateNewVersion("1.1.1"); //Act bool IsUpdatableVersionUpdatedInRepository = CurrentProductRepository.UpdateVersion(productName, updatableVersion); //Assert string expectedMessage = "Обновляемого продукта не существует!"; string actualMessage = _lastMessageFromLog; Assert.AreEqual(expectedMessage, actualMessage); Assert.False(IsUpdatableVersionUpdatedInRepository); }
public void AddVersion_WithIncorrectVersionNumber_ReturnsFalseAndWriteThisToLog() { //Arrange Version versionWithIncorrectVersionNumber = CreateNewVersion(".1.1."); string productName = "productName"; //Act bool IsVersionWithIncorrectVersionNumberInRepository = CurrentProductRepository.AddVersion(productName, versionWithIncorrectVersionNumber); //Assert string expectedMessage = "Номер версии введен некорректно"; string actualMessage = _lastMessageFromLog; Assert.AreEqual(expectedMessage, actualMessage); Assert.False(IsVersionWithIncorrectVersionNumberInRepository); }
public void RemoveVersion_RemovableVersionNotFoundInRepository_ReturnsFalseAndWriteToLogAboutNonExistentRemovableVersion() { //Arrange string productName = "productName"; Version removableVersion = CreateNewVersion("1.1.1"); //Act bool IsRemovableVersionRemovedFromRepository = CurrentProductRepository .RemoveVersion(productName, removableVersion.ProductVersion); //Assert string expectedMessage = "Удаляемой версии продукта не существует!"; string actualMessage = _lastMessageFromLog; Assert.AreEqual(expectedMessage, actualMessage); Assert.False(IsRemovableVersionRemovedFromRepository); }
public void AddVersion_WithOldVersionNumber_ReturtnsFalseAndWriteThisToLog(string oldVersionNumber) { //Arrange string productName = "productName"; Version latestVersion = CreateNewVersion("1.1.1"); Version oldVersion = CreateNewVersion(oldVersionNumber); CurrentProductRepository.AddVersion(productName, latestVersion); //Act bool IsOldVersionInRepository = CurrentProductRepository.AddVersion(productName, oldVersion); //Assert string expectedMessage = "Данная версия не может быть добавлена, так как не является новой"; string actualMessage = _lastMessageFromLog; Assert.AreEqual(expectedMessage, actualMessage); Assert.False(IsOldVersionInRepository); }
public void AddVersion_WithLatestVersionNumberButWithAnExistingProductName_AddedNewVersionInListOfProductVersionsAndNotDeleteOldVersion(string newVersionNumber) { //Arrange string productName = "productName"; Version latestVersion = CreateNewVersion("1.1.1"); Version newVersion = CreateNewVersion(newVersionNumber); CurrentProductRepository.AddVersion(productName, latestVersion); //Act CurrentProductRepository.AddVersion(productName, newVersion); //Assert bool isRepositoryContainLatestVersion = CurrentProductRepository.GetProductVersions(productName).Contains(latestVersion); bool isRepositoryContainNewVersion = CurrentProductRepository.GetProductVersions(productName).Contains(newVersion); Assert.True(isRepositoryContainLatestVersion); Assert.True(isRepositoryContainNewVersion); }
public void AddVersion_WithLatestVersionNumberAndUniqueProductName_AddedNewProductAndNewVersionInRepository() { //Arrange Version newVersion = CreateNewVersion("1.1.1"); string productName = "productName"; //Act CurrentProductRepository.AddVersion(productName, newVersion); //Assert Product potentiallyAddedProduct = new Product(productName); potentiallyAddedProduct.InitializeLatestVersion(newVersion); bool WasProductAdded = IsThereProduct(potentiallyAddedProduct); bool WasVersionAdded = IsThereVersion(productName, newVersion); Assert.True(WasProductAdded); Assert.True(WasVersionAdded); }
/// <summary> /// Метод для проверки существования продукта в репозитории /// </summary> private bool IsThereProduct(Product product) { List <Product> products = CurrentProductRepository.GetProducts(); return(products == null ? false : products.Contains(product)); }
/// <summary> /// Метод для проверки существования версии в репозитории /// </summary> private bool IsThereVersion(string productName, Version version) { List <Version> versions = CurrentProductRepository.GetProductVersions(productName); return(versions == null ? false : versions.Contains(version)); }