import pytest from thefuck.rules.man import match, get_new_command from tests.utils import Command @pytest.mark.parametrize('command', [ Command('man read'), Command('man 2 read'), Command('man 3 read'), Command('man -s2 read'), Command('man -s3 read'), Command('man -s 2 read'), Command('man -s 3 read')]) def test_match(command): assert match(command) @pytest.mark.parametrize('command', [ Command('man'), Command('man ')]) def test_not_match(command): assert not match(command) @pytest.mark.parametrize('command, new_command', [ (Command('man read'), ['man 3 read', 'man 2 read']), (Command('man 2 read'), 'man 3 read'), (Command('man 3 read'), 'man 2 read'), (Command('man -s2 read'), 'man -s3 read'), (Command('man -s3 read'), 'man -s2 read'), (Command('man -s 2 read'), 'man -s 3 read'), (Command('man -s 3 read'), 'man -s 2 read')]) def test_get_new_command(command, new_command): assert get_new_command(command) == new_command