main
 1using jive;
 2using Machine.Specifications;
 3
 4namespace specs.unit.utility
 5{
 6  public class NotSpecificationSpecs
 7  {
 8    [Subject(typeof (NotSpecification<>))]
 9    public class when_checking_if_a_condition_is_not_met
10    {
11      static protected Moq.Mock<Specification<int>> criteria;
12
13      Establish c = () =>
14      {
15        criteria = Create.An<Specification<int>>();
16        sut = create_sut();
17      };
18
19      static protected Specification<int> sut;
20
21      static Specification<int> create_sut()
22      {
23        return new NotSpecification<int>(criteria.Object);
24      }
25    }
26
27    [Subject(typeof (NotSpecification<>))]
28    public class when_a_condition_is_not_met : when_checking_if_a_condition_is_not_met
29    {
30      Establish c = () => criteria.Setup(x => x.is_satisfied_by(1)).Returns(false);
31
32      Because b = () =>
33      {
34        result = sut.is_satisfied_by(1);
35      };
36
37      It should_return_true = () => result.should_be_true();
38
39      static bool result;
40    }
41
42    [Subject(typeof (NotSpecification<>))]
43    public class when_a_condition_is_met : when_checking_if_a_condition_is_not_met
44    {
45      Establish c = () => criteria.Setup(x => x.is_satisfied_by(1)).Returns(true);
46
47      Because b = () =>
48      {
49        result = sut.is_satisfied_by(1);
50      };
51
52      It should_return_false = () => result.should_be_false();
53
54      static bool result;
55    }
56  }
57}