def test_list_of_floats_errors(): # Test that list_of_floats fails correctly with pytest.raises(ValueError): list_of_floats("foo") # str with pytest.raises(ValueError): list_of_floats(["foo", "bar"]) # list of strs with pytest.raises(ValueError): list_of_floats({"foo": "bar"}) # dict
def list_of_list_of_floats(arg): '''Domain validator for lists of floats Args: arg : argument to be cast to list of floats and validated Returns: List of list of floats ''' try: lst = [[float(i) for i in j] for j in arg] except TypeError: lst = [ list_of_floats(arg), ] return lst
def test_list_of_floats(): # Test list_of_floats returns correctly assert list_of_floats(1) == [1.0] # int assert list_of_floats([1, 2, 3]) == [1.0, 2.0, 3.0] # list of ints assert list_of_floats(1.0) == [1.0] # float assert list_of_floats([1.0, 2.0, 3.0]) == [1.0, 2.0, 3.0] # list of floats