def test_otherwise_raise_error(self): data = { "Sample": ["AAA", "BBB"], } df = pd.DataFrame(data) message = "Sample name uses wrong format." with pytest.raises(ValueError, match=message): create_sample_cols(df["Sample"])
def test_raises_error_if_type_has_multiple_letters(self): data = { "Sample": ["1-U1h-1tt-3-a"], } df = pd.DataFrame(data) message = "Sample name uses wrong format." with pytest.raises(ValueError, match=message): create_sample_cols(df["Sample"])
def test_raises_error_if_hole_is_a_number(self): data = { "Sample": ["1-U11-2t-3-a"], } df = pd.DataFrame(data) message = "Sample name uses wrong format." with pytest.raises(ValueError, match=message): create_sample_cols(df["Sample"])
def test_raises_error_if_site_ends_with_letters(self): data = { "Sample": ["1-Ush-2t-3-a"], } df = pd.DataFrame(data) message = "Sample name uses wrong format." with pytest.raises(ValueError, match=message): create_sample_cols(df["Sample"])
def test_rejects_exp_string(self): data = { "Sample": ["1", "10"], } df = pd.DataFrame(data) message = "Sample name uses wrong format." with pytest.raises(ValueError, match=message): df = create_sample_cols(df["Sample"])
def test_returns_none_when_input_is_No_data_this_hole(self): data = { "Sample": ["No data this hole"], } df = pd.DataFrame(data) data = { "Exp": [None], "Site": [None], "Hole": [None], "Core": [None], "Type": [None], "Section": [None], "A/W": [None], } expected = pd.DataFrame(data) df = create_sample_cols(df["Sample"]) assert_frame_equal(df, expected)
def test_ignores_hash_symbol_element_in_sample_name(self): data = { "Sample": ["349-U1431E-7R-1-#1-A", "349-U1431E-7R-1-#1"], } df = pd.DataFrame(data) data = { "Exp": ["349", "349"], "Site": ["U1431", "U1431"], "Hole": ["E", "E"], "Core": ["7", "7"], "Type": ["R", "R"], "Section": ["1", "1"], "A/W": ["A", None], } expected = pd.DataFrame(data) df = create_sample_cols(df["Sample"]) assert_frame_equal(df, expected)
def test_ignores_ending_interval(self): data = { "Sample": ["1-U1h-2t-3, 0-20", "10-U2H-20T-3"], } df = pd.DataFrame(data) data = { "Exp": ["1", "10"], "Site": ["U1", "U2"], "Hole": ["h", "H"], "Core": ["2", "20"], "Type": ["t", "T"], "Section": ["3", "3"], "A/W": [None, None], } expected = pd.DataFrame(data) df = create_sample_cols(df["Sample"]) assert_frame_equal(df, expected)
def test_accepts_exp_site_hole_string(self): data = { "Sample": ["1-U1h", "10-U2H"], } df = pd.DataFrame(data) data = { "Exp": ["1", "10"], "Site": ["U1", "U2"], "Hole": ["h", "H"], "Core": [None, None], "Type": [None, None], "Section": [None, None], "A/W": [None, None], } expected = pd.DataFrame(data) df = create_sample_cols(df["Sample"]) assert_frame_equal(df, expected)
def test_accepts_exp_site_hole_core_type_section_string(self): data = { "Label ID": ["1-U1h-2t-3", "10-U2H-20T-3"], } df = pd.DataFrame(data) data = { "Exp": ["1", "10"], "Site": ["U1", "U2"], "Hole": ["h", "H"], "Core": ["2", "20"], "Type": ["t", "T"], "Section": ["3", "3"], "A/W": [None, None], } expected = pd.DataFrame(data) df = create_sample_cols(df["Label ID"]) assert_frame_equal(df, expected)
def test_handles_missing_type(self): data = { "Sample": ["1-U1h-11-3-a"], } df = pd.DataFrame(data) data = { "Exp": ["1"], "Site": ["U1"], "Hole": ["h"], "Core": ["11"], "Type": [None], "Section": ["3"], "A/W": ["a"], } expected = pd.DataFrame(data) df = create_sample_cols(df["Sample"]) assert_frame_equal(df, expected)
def test_extracts_parts_from_exp_site_hole_core_type_section_aw_string( self): data = { "Label ID": ["1-U1h-2t-3-a", "10-U20H-20T-Sec-4AA"], } df = pd.DataFrame(data) data = { "Exp": ["1", "10"], "Site": ["U1", "U20"], "Hole": ["h", "H"], "Core": ["2", "20"], "Type": ["t", "T"], "Section": ["3", "Sec"], "A/W": ["a", "4AA"], } expected = pd.DataFrame(data) df = create_sample_cols(df["Label ID"]) assert_frame_equal(df, expected)