mirror of
https://github.com/nvbn/thefuck.git
synced 2025-09-24 22:22:34 +01:00
Use parametrized tests where it possible
This commit is contained in:
@@ -1,25 +1,27 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
|
||||
from mock import Mock
|
||||
import pytest
|
||||
from thefuck.rules import switch_lang
|
||||
from tests.utils import Command
|
||||
|
||||
|
||||
def test_match():
|
||||
assert switch_lang.match(Mock(stderr='command not found: фзе-пуе',
|
||||
script=u'фзе-пуе'), None)
|
||||
assert switch_lang.match(Mock(stderr='command not found: λσ',
|
||||
script=u'λσ'), None)
|
||||
|
||||
assert not switch_lang.match(Mock(stderr='command not found: pat-get',
|
||||
script=u'pat-get'), None)
|
||||
assert not switch_lang.match(Mock(stderr='command not found: ls',
|
||||
script=u'ls'), None)
|
||||
assert not switch_lang.match(Mock(stderr='some info',
|
||||
script=u'фзе-пуе'), None)
|
||||
@pytest.mark.parametrize('command', [
|
||||
Command(stderr='command not found: фзе-пуе', script=u'фзе-пуе'),
|
||||
Command(stderr='command not found: λσ', script=u'λσ')])
|
||||
def test_match(command):
|
||||
assert switch_lang.match(command, None)
|
||||
|
||||
|
||||
def test_get_new_command():
|
||||
assert switch_lang.get_new_command(
|
||||
Mock(script=u'фзе-пуе штыефдд мшь'), None) == 'apt-get install vim'
|
||||
assert switch_lang.get_new_command(
|
||||
Mock(script=u'λσ -λα'), None) == 'ls -la'
|
||||
@pytest.mark.parametrize('command', [
|
||||
Command(stderr='command not found: pat-get', script=u'pat-get'),
|
||||
Command(stderr='command not found: ls', script=u'ls'),
|
||||
Command(stderr='some info', script=u'фзе-пуе')])
|
||||
def test_not_match(command):
|
||||
assert not switch_lang.match(command, None)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('command, new_command', [
|
||||
(Command(u'фзе-пуе штыефдд мшь'), 'apt-get install vim'),
|
||||
(Command(u'λσ -λα'), 'ls -la')])
|
||||
def test_get_new_command(command, new_command):
|
||||
assert switch_lang.get_new_command(command, None) == new_command
|
||||
|
Reference in New Issue
Block a user