tests for all 4 modes