public ExampleViewModel GetSpecialFourLeggedAnimals()
 {
     var fourLegged = new NumberOfLegsSpecification(4);
     var isSpecial = new LambdaSpecification<Animal>(x => x.IsSpecial);
     var results = _repository.Query(fourLegged.And(isSpecial));
     return new ExampleViewModel
     {
         Results = results
     };
 }
Exemple #2
0
        public void NotTest()
        {
            var blaThe = new TestClass { Name = "BlaThe" };
            var blaTest = new TestClass { Name = "BlaTest" };
            var testSpec = new LambdaSpecification<TestClass>(t => t.Name.Contains("Test"));
            var notSpec = testSpec.Not();

            Assert.That(testSpec.IsSatisfiedBy(blaThe), Is.False);
            Assert.That(notSpec.IsSatisfiedBy(blaThe), Is.True);
            Assert.That(testSpec.IsSatisfiedBy(blaTest), Is.True);
            Assert.That(notSpec.IsSatisfiedBy(blaTest), Is.False);
        }
Exemple #3
0
        public void AndTest()
        {
            var blaThe = new TestClass { Name = "BlaThe" };
            var blaTest = new TestClass { Name = "BlaTest" };
            var blaTheTest = new TestClass { Name = "BlaTheTest" };
            var testSpec = new LambdaSpecification<TestClass>(t => t.Name.Contains("Test"));
            var theSpec = new LambdaSpecification<TestClass>(t => t.Name.Contains("The"));
            var andSpec = testSpec.And(theSpec);

            Assert.That(testSpec.IsSatisfiedBy(blaThe), Is.False);
            Assert.That(theSpec.IsSatisfiedBy(blaThe), Is.True);
            Assert.That(andSpec.IsSatisfiedBy(blaThe), Is.False);

            Assert.That(testSpec.IsSatisfiedBy(blaTest), Is.True);
            Assert.That(theSpec.IsSatisfiedBy(blaTest), Is.False);
            Assert.That(andSpec.IsSatisfiedBy(blaTest), Is.False);

            Assert.That(testSpec.IsSatisfiedBy(blaTheTest), Is.True);
            Assert.That(theSpec.IsSatisfiedBy(blaTheTest), Is.True);
            Assert.That(andSpec.IsSatisfiedBy(blaTheTest), Is.True);
        }
Exemple #4
0
 public void PositivTest()
 {
     var test = new TestClass { Name = "BlaTest" };
     var s = new LambdaSpecification<TestClass>((t) => t.Name.Contains("Test"));
     Assert.That(s.IsSatisfiedBy(test), Is.True);
 }
Exemple #5
0
 public void NegativTest()
 {
     var test = new TestClass { Name = "Bla" };
     var s = new LambdaSpecification<TestClass>(t => t.Name.Contains("Test"));
     Assert.That(s.IsSatisfiedBy(test), Is.False);
 }