def test_complete_list_of_arguments(): args = CleanArgs('l,p*,d#,s##,n[*]', ['-l', '-p', '999', '-d', '/home/cllamach', '-s', '100.2', '-n', 'Node1,Node2,Node3']) assert args.get_double_value('s') == 100.2 assert args.get_boolean_value('l') assert args.get_integer_value('p') == 999 assert args.get_string_value('d') == '/home/cllamach' assert args.get_string_list_value('n') == ['Node1', 'Node2', 'Node3']
def test_string_invalid_argument(): args = CleanArgs('s#', ['-s', 'Hello']) assert args.get_string_value('d') == ''
def test_string_argument_not_found(): with pytest.raises(ArgsException) as e: args = CleanArgs('s#', ['-s']) args.get_string_value('s') assert str(e.value) == 'Expected string but found None.'
def test_string_argument_format(): args = CleanArgs('s#', ['-s', '/home/cllamach']) assert args.get_string_value('s') == '/home/cllamach'
def test_passed_arguments_without_mark(): args = CleanArgs('l,p*', ['l', '-p', '9900']) assert not args.get_boolean_value('l') assert args.get_integer_value('p')
def test_passed_arguments_returns_false_when_not_called(): args = CleanArgs('l,p*', ['-p', '1900']) assert not args.get_boolean_value('l') assert args.get_integer_value('p') == 1900
def test_passed_arguments_returns_correct_values(): args = CleanArgs('l,p*', ['-l', '-p', '99']) assert args.get_integer_value('p') == 99 assert args.get_boolean_value('l')
def test_args_integer_return_value(): args = CleanArgs('p*', ['-p', '99']) assert args.get_integer_value('p') == 99
def test_args_get_boolean_false_when_no_valid_schema(): args = CleanArgs('l*', ['-l', '9000']) assert not args.get_boolean_value('l')
def test_string_list_parameter_not_found(): args = CleanArgs('s[*]', ['-s', 'Super Good']) assert args.get_string_list_value('o') == []
def test_string_list_parameter_separated_by_comma(): args = CleanArgs('l[*]', ['-l', 'Hello,World']) assert args.get_string_list_value('l') == ['Hello', 'World']
def test_string_list_parameter_found(): args = CleanArgs('l[*]', ['-l', 'Hello World']) assert args.get_string_list_value('l') == ['Hello', 'World']
def test_double_parameter_missing(): args = CleanArgs('d##,p*', ['-p', '990']) assert args.get_double_value('d') == 0.0
def test_args_get_boolean_value(): args = CleanArgs('l', ['-l']) assert args.get_boolean_value('l')
def test_double_argument_found(): args = CleanArgs('d##', ['-d', '999.29']) assert args.get_double_value('d') == 999.29