public void GivenTierOption_ThenLinesMatchingThatTierShouldBeIncluded([Values] Criteria criteria) { var filter = A.BcrFilter().With(criteria, "tier").Build(); var bcr = new Bcr(new BcrLine[] { A.BcrLine().With(criteria, "tier") }); Assert.That(filter.Use(bcr).Lines.ToList(), Has.Count.EqualTo(1)); }
public void GivenTierOption_ThenLinesNotMatchingThatTierShouldNotBeIncluded([Values] Criteria criteria) { var filter = A.BcrFilter().With(criteria, "tier").Build(); var bcr = new Bcr(new BcrLine[] { A.BcrLine().With(criteria, "notTheRightTier") }); Assert.That(filter.Use(bcr).Lines, Is.Empty); }
public void GivenTheBcrCommand_ThenExtraCommasShouldBeIgnored( [Values] Criteria criteria, [Values("myTier,,,", ",myTier,,", ",,myTier,", ",,,myTier")] string option) { var options = _parser.GetOptions("bcr", $"--{criteria.Name()}={option}"); var bcrOptions = options as BcrOptions; Assert.That(bcrOptions.ValueOf(criteria), Is.EquivalentTo(new[] { "myTier" })); }
public void GivenTierOptionWithMultipleValues_ThenLinesMatchingThatAnyOfThoseValuesShouldBeIncluded( [Values] Criteria criteria) { var filter = A.BcrFilter().With(criteria, "firstTier", "secondTier").Build(); var firstBcrLine = A.BcrLine().With(criteria, "firstTier").Build(); var secondBcrLine = A.BcrLine().With(criteria, "secondTier").Build(); var thirdBcrLine = A.BcrLine().With(criteria, "thirdTier").Build(); var bcr = new Bcr(new[] { firstBcrLine, secondBcrLine, thirdBcrLine }); Assert.That(filter.Use(bcr).Lines.ToList(), Is.EquivalentTo(new[] { firstBcrLine, secondBcrLine })); }
public void GivenTheBcrCommand_ThenTheTierOptionShouldTakeCommaSeparatedValues([Values] Criteria criteria) { var commandSeparatedTiers = new[] { "firstTier", "secondTier" }; var options = _parser.GetOptions("bcr", $"--{criteria.Name()}={string.Join(",", commandSeparatedTiers)}"); var bcrOptions = options as BcrOptions; Assert.That(bcrOptions.ValueOf(criteria), Is.EquivalentTo(commandSeparatedTiers)); }