public void SelectorSpecificationTestOneNumeric()
        {
            // arrange
            var spec = new SelectorSpecification <int, int>(x => x, 2);

            // act
            var result = _numericList.Where(spec.IsSatisfied()).ToList();

            // assert
            Assert.That(result.Count(), Is.EqualTo(1));
            Assert.That(result.First(), Is.EqualTo(2));
        }
        public void SelectorSpecificationTestOne()
        {
            // arrange
            var spec = new SelectorSpecification <Sample, string>(x => x.FirstName, "Jose");

            // act
            var result = TestData.List.Where(spec.IsSatisfied()).ToList();

            // assert
            Assert.That(result.Count(), Is.EqualTo(1));
            Assert.That(result.First().FirstName, Is.EqualTo("Jose"));
        }
        public void SelectorSpecificationTestContains()
        {
            // arrange
            var spec = new SelectorSpecification <Sample, string>(x => x.FirstName, Operation.Contains, "u");

            // act
            var result = TestData.List.Where(spec.IsSatisfied()).ToList();

            // assert
            Assert.That(result.Count(), Is.EqualTo(2));
            Assert.That(result.First().FirstName, Is.EqualTo("Manuel"));
            Assert.That(result.Last().FirstName, Is.EqualTo("Julian"));
        }