pushed the test logic into the enum