refactor into 1 test, with platform options