No need to implement a new FileNameMatcher; Add test but still need to figure out how to mock FileTypeConsumer.consume because it is overloaded. Tried ScalaMock and Mockito, they don't work.
Mockito seems to be more reliable. Now it works but we still need more validations. The scala plugin of intellij won't sort import statement, which is annoying.
Use argThat to validate the LanguageFileType argument of FileTypeConsumer.consume(). Feels that the argThat method will be frequently used so add a sugar trait that allow directly pass a scala function as the parameter of argThat() instead of an object acting as a function.