public void ValidatePregeneratedCouponCodesHasNoErrors(string code) { var opts = new Options(); var ccb = new CouponCodeBuilder(); var output = ccb.Validate(code, opts); // check code and validation are the same Assert.IsNotNullOrEmpty(output, string.Format("Expected test case {0} to be not null or empty.", code)); Assert.AreEqual(code, output, string.Format("Expected test case {0} to ensure that the generated code and validated code match.", code)); }
public void InvalidCouponCodeReturnEmptyString() { var opts = new Options(); var ccb = new CouponCodeBuilder(); // valid is "9Y46-9M8E-UQB8" var output = ccb.Validate("9Y46-9M8E-UQBA", opts); // check output is empty Assert.IsEmpty(output); }
public void GenerateValidCouponCodesAlsoValidates(int counter) { var opts = new Options(); var ccb = new CouponCodeBuilder(); var badWords = ccb.BadWordsList; var code = ccb.Generate(opts); var output = ccb.Validate(code, opts); Console.WriteLine(code); // check code and validation are the same Assert.IsNotNullOrEmpty(output, string.Format("Expected test case {0} to be not null or empty.", counter)); Assert.AreEqual(code, output, string.Format("Expected test case {0} to ensure that the generated code and validated code match.", counter)); // assert no bad words var parts = output.Split('-'); var contains = badWords.Any(part => parts.Any(item => part.ToUpperInvariant().Contains(item.ToUpperInvariant()))); Assert.IsFalse(contains, string.Format("Expected test case {0} to contain no bad words.", counter)); }