def test_append_detail_rows_no_detail_rows(self): f = DataFile() f._exists = True # To simulate to the object that a file has been created with pytest.raises(AssertionError) as e: f.append_detail_rows() assert "The number of detail rows has not been defined. Use the `Number Of Detail Rows Is` keyword first." in str( e)
def test_define_file_name(self): f = DataFile() if os.path.sep == "\\": f.define_file_name("C:\\User\\mrose\\ws") assert f.absolute_name == "C:\\User\\mrose\\ws" else: f2 = DataFile("/My/File/Name.py") assert f2.absolute_name == "/My/File/Name.py"
def test_append_detail_rows_no_data_file(self): f = DataFile() with pytest.raises(AssertionError) as e: f.append_detail_rows() assert "The data file has not been created. Use the 'Create Data File' keyword to create it." in str( e)
def test_set_valid_number_of_detail_rows(self): f = DataFile() f.number_of_detail_rows_is(1000) assert f.number_of_rows == 1000
def test_number_of_detail_rows_must_be_integer(self): f = DataFile() with pytest.raises(AssertionError) as e: f.number_of_detail_rows_is("Michael") assert "Failed attempting to convert input to an integer." in str(e)
def test_number_of_detail_rows_must_be_positive(self): f = DataFile() with pytest.raises(AssertionError) as e: f.number_of_detail_rows_is(-1) assert "Number of details rows must be a positive integer." in str(e)
def test_valid_delimiter_definition_ignores_case(self): f = DataFile() f.define_delimiter("tab") assert f.delimiter == "\t"
def test_invalid_delimiter_definition(self): f = DataFile() with pytest.raises(AssertionError) as e: f.define_delimiter("PERCENT") assert "Invalid delimiter. Delimiter must be COMMA, PIPE, TAB, COLON, or SEMICOLON." in str( e)
def test_define_data_field(self): f = DataFile() f.define_data_field("Boolean", "BOOL_HEADER", options="Not Bool, Other Thing, True") assert f.row_definition.field_count == 1
def test_data_file_has_new_row_definition(self): f = DataFile() assert isinstance(f.row_definition, DataRow) assert f.row_definition.field_count == 0
def test_file_name_is_not_absolute(self): f = DataFile() with pytest.raises(AssertionError) as e: f.define_file_name("path/is/not/absolute") assert "The file name must be absolute." in str(e)