Testing APT Command Correction Logic in TheFuck
This test suite validates the functionality of the apt-get search command correction feature in TheFuck, a command-line tool that corrects mistyped console commands. The tests ensure proper handling of the common mistake of using ‘apt-get search’ instead of the correct ‘apt-cache search’ command.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
nvbn/thefuck
tests/rules/test_apt_get_search.py
import pytest
from thefuck.rules.apt_get_search import get_new_command, match
from thefuck.types import Command
def test_match():
assert match(Command('apt-get search foo', ''))
@pytest.mark.parametrize('command', [
Command('apt-cache search foo', ''),
Command('aptitude search foo', ''),
Command('apt search foo', ''),
Command('apt-get install foo', ''),
Command('apt-get source foo', ''),
Command('apt-get clean', ''),
Command('apt-get remove', ''),
Command('apt-get update', '')
])
def test_not_match(command):
assert not match(command)
def test_get_new_command():
new_command = get_new_command(Command('apt-get search foo', ''))
assert new_command == 'apt-cache search foo'