Slide 9
Slide 9 text
QueryFilter
QueryFilterTest
QueryParserTest
Design Evolution
„guitar“ -> [guitar]
“red electric guitar“ -> [red, electric, guitar]
[red,guitar,with,gigback]-> [red,guitar,gigback]
[red,guitar,and,gigback] -> [red,guitar,gigback]
QueryParser
+ parse(query: String)
- removeStopwords(words: String[]) : String[]
[red,guitar,7,gigback] -> [red,guitar,gigback] - removeNumbers(words: String[]) : String[]
+ filter(words: String[]): String[]
+ QueryParser(filter: QueryFilter,
normalizer: QueryNormalizer)
-setUpMocks / MockInteractionTest
QueryNormalizerTest
„Guitar“ -> „guitar“
„guitars“ -> „guitar“
QueryNormalizer
+ normalize(word: String): String
- toLowerCase(word: String) : String
- toSingular(word: String) : String