Commit c44a9ff
Changed files (2)
domain
domain/movie_library.go
@@ -52,9 +52,7 @@ func (self *MovieLibrary) FindAllMoviesByPixarOrDisney() []Movie {
}
func (self *MovieLibrary) FindAllMoviesNotByPixar() []Movie {
- return self.FindAll(func(x Movie) bool {
- return x.Studio.Name != "Pixar"
- })
+ return self.FindAll(MovieProducedBy("Pixar").Not())
}
func (self *MovieLibrary) FindAllMoviesPublishedAfter2004() []Movie {
domain/predicate.go
@@ -7,3 +7,9 @@ func (self Predicate) Or(other Predicate) Predicate {
return self(m) || other(m)
}
}
+
+func (self Predicate) Not() Predicate {
+ return func(m Movie) bool {
+ return !self(m)
+ }
+}