ISpecificationExpression <Ticket> GetFromPredicateAndValue(Criterion criterion) { var predicateAndValue = criterion.Test as PredicateAndValue; var sprintName = valueResolver.Resolve <string>(predicateAndValue.Value); var spec = new HasSprint(sprintName); if (predicateAndValue.PredicateText == PredicateName.NotEquals) { return(spec.Not()); } return(spec); }
public void Matches_returns_false_for_a_ticket_which_has_no_sprint(Ticket ticket) { // Arrange var sprintNameOne = "one"; var sprintNameTwo = "two"; ticket.Sprint = null; var sut = new HasSprint(sprintNameOne, sprintNameTwo); // Act var result = sut.Matches(ticket); // Assert Assert.That(result, Is.False); }
public void Matches_returns_true_for_a_ticket_which_has_a_sprint_with_a_matching_name(Ticket ticket, Sprint sprint) { // Arrange var sprintNameOne = "one"; var sprintNameTwo = "two"; ticket.Sprint = sprint; ticket.Sprint.Name = sprintNameOne; var sut = new HasSprint(sprintNameOne, sprintNameTwo); // Act var result = sut.Matches(ticket); // Assert Assert.That(result, Is.True); }
ISpecificationExpression <Ticket> GetFromPredicateFunction(Criterion criterion) { var predicateFunction = criterion?.Test as PredicateFunction; if (predicateFunction == null) { return(null); } var sprintNames = valueResolver.ResolveAll <string>(predicateFunction.Parameters); var spec = new HasSprint(sprintNames); if (predicateFunction.Inverted) { return(spec.Not()); } return(spec); }