public void Specification_NotSpecification_ShouldFilterMovies() { // Arrange var movieCount = MovieFactory.GetMixedMovies().Count(m => m.MpaaRating > MpaaRating.PG && // Not for kids m.Rating >= 4); // Best ratigs var kidSpec = new MovieForKidsSpecificationValidator(); var dirBest = new BestRatedFilmsSpecificationValidator(); var movieSpec = dirBest.And(kidSpec.Not()); // Act var result = MovieFactory.GetMixedMovies().Where(movieSpec.IsSatisfiedBy); // Assert Assert.Equal(movieCount, result.Count()); }