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); }
/// <summary> /// Метод для проверки существования продукта в репозитории /// </summary> private bool IsThereProduct(Product product) { List <Product> products = CurrentProductRepository.GetProducts(); return(products == null ? false : products.Contains(product)); }