Added more unit tests to prove filter chain works serially and handles all cases