import argparse
import pytest
from ttk.cli.common import add_common_args
from ttk.utilities.classes import SWITCHES
def _parse(argv):
p = argparse.ArgumentParser()
add_common_args(p)
return p.parse_args(["-i", "dummy.csv"] + list(argv))
def test_default_compare_method_none():
assert SWITCHES().compare_method is None
def test_cli_no_flag_defaults_none():
assert _parse([]).compare is None
def test_cli_accepts_stat_rel_err():
assert _parse(["--compare", "stat_rel_err"]).compare == "stat_rel_err"
def test_cli_keeps_legacy_binary():
assert _parse(["--compare", "binary"]).compare == "binary"
def test_cli_rejects_alias_not_in_choices():
p = argparse.ArgumentParser(); add_common_args(p)
with pytest.raises(SystemExit):
p.parse_args(["--compare", "bitwise"])
def test_cli_accepts_cross_check():
assert _parse(["--compare", "cross_check"]).compare == "cross_check"