Beispiel #1
0
        public void TestBasicAndSpecification()
        {
            var bookList = DatabaseStub.Instance.Books;
            var bookName = "The Phoenix Project";

            var specification = new BookSpecification();

            specification
            .BooksSince(DateTime.Now.AddYears(-10))
            .TitleStartingWith(bookName);

            var expression = specification.Create();

            var result = bookList.FindAll(x => expression.SatisfiedBy(x));

            Assert.IsTrue(result.Count == 1);
            Assert.IsTrue(result.FirstOrDefault()?.Title.StartsWith(bookName) ?? false);
        }
Beispiel #2
0
        public void TestBasicOrSpecification()
        {
            var bookList = DatabaseStub.Instance.Books;
            var bookName = "The Goal";

            var specification = new BookSpecification();

            specification
            .BooksSince(DateTime.Now.AddYears(-10))
            .Or()
            .TitleStartingWith(bookName);

            var expression = specification.Create();

            var result = bookList.FindAll(x => expression.SatisfiedBy(x));

            Assert.IsTrue(result.Count > 1);
            Assert.IsTrue(result.Exists(x => x.Title.StartsWith(bookName)));
        }