public void GetProducts_ValidProductNotInCache() { ICollection <string> productsList = new Collection <string> { "glob", "drd" }; int cacheCount = productsList.Count(); this.productCategorizer.Setup(i => i.IsProductValid(It.IsAny <string>())) .Returns(true) .Verifiable(); this.validator = new ProductDataValidator(this.ruleValidator.Object, this.productCategorizer.Object, productsList); string content = "tegj pish prok"; var results = validator.GetProducts(content, 1); Assert.IsNotEmpty(results); Assert.Greater(productsList.Count, cacheCount); Assert.AreEqual(cacheCount + results.Count(), productsList.Count); this.productCategorizer.Verify(i => i.IsProductValid(It.IsAny <string>()), Times.AtLeastOnce); }
public void GetProducts_NullOrEmptyOrWhitespaceContent(string content) { this.validator = new ProductDataValidator(this.ruleValidator.Object, this.productCategorizer.Object, new string[] { }); var results = validator.GetProducts(content, 1); Assert.IsNull(results); }
public void GetProducts_InvalidProductType() { this.productCategorizer.Setup(i => i.IsProductValid(It.IsAny <string>())) .Returns(false) .Verifiable(); this.validator = new ProductDataValidator(this.ruleValidator.Object, this.productCategorizer.Object, new string[] { }); string content = "kryptonite gummyl Diamond"; var results = validator.GetProducts(content, 1); Assert.IsNull(results); this.productCategorizer.Verify(i => i.IsProductValid(It.IsAny <string>()), Times.AtLeastOnce); }