def test_hash_equal(alpha, beta): """ asserts two equal MD objects have the same hash.""" alpha = MarkForDeletion(*alpha) beta = MarkForDeletion(*beta) assert hash(alpha) == hash(beta)
def test_ne(data_a, data_b): marked_a, reason_a, reporter_a = data_a md_a = MarkForDeletion(marked_a, reporter_a, reason_a) marked_b, reason_b, reporter_b = data_b md_b = MarkForDeletion(marked_b, reporter_b, reason_b) assert md_a != md_b
def test_mark_for_deletion_unset(rescue_sop_fx: Rescue): """ Verify unmarking a case that was MD'ed works as expected """ rescue_sop_fx.marked_for_deletion = MarkForDeletion( True, "unit_test[BOT]", "unit test reasons!") rescue_sop_fx.unmark_delete() assert rescue_sop_fx.marked_for_deletion.marked is False assert rescue_sop_fx.marked_for_deletion.reporter is None assert rescue_sop_fx.marked_for_deletion.reason is None
def test_mark_for_deletion_setter_bad_data( reason: str or None, reporter: str or None, marked: bool, mark_for_deletion_fx: MarkForDeletion): """ Verifies setting the mark for deletion property succeeds only when the data is valid Args: reason (str): md reason reporter(str) md reporter """ with pytest.raises(TypeError): mark_for_deletion_fx.reason = reason with pytest.raises(TypeError): mark_for_deletion_fx.reporter = reporter with pytest.raises(TypeError): mark_for_deletion_fx.marked = marked assert isinstance(mark_for_deletion_fx.marked, bool) assert mark_for_deletion_fx.reason != reason assert mark_for_deletion_fx.reporter != reporter
def test_eq(marked: bool, reason: Optional[str], reporter: Optional[str]): md_a = MarkForDeletion(marked, reporter, reason) md_b = MarkForDeletion(marked, reporter, reason) assert md_a == md_b
def test_hash_unequal(alpha, beta): """asserts two unequal Md objects do not have the same hash.""" alpha = MarkForDeletion(*alpha) beta = MarkForDeletion(*beta) assert hash(alpha) != hash(beta)
def mark_for_deletion_fx(request) -> MarkForDeletion: """Provides a parameterized MFD object""" param = request.param return MarkForDeletion(marked=param[0], reporter=param[1], reason=param[2])
def mark_for_deletion_plain_fx() -> MarkForDeletion: """Provides a plain MFD object""" return MarkForDeletion(False)