Refactor tests to split them up by functionality rather than ast
contents. Also adding :matches and :not tests.