Sam Jaffe пре 3 недеља
родитељ
комит
d1f7174564
1 измењених фајлова са 45 додато и 0 уклоњено
  1. 45 0
      tests/status_test.py

+ 45 - 0
tests/status_test.py

@@ -0,0 +1,45 @@
+import pytest
+
+import cipy.status
+
+from cipy.status import Status
+
+
+@pytest.mark.parametrize("status", [e for e in Status])
+def test_always_accepts_everything(status: Status) -> None:
+    assert cipy.status.Always()(status)
+
+
+@pytest.mark.parametrize("status", [Status.NOT_RUN, Status.SKIPPED, Status.SUCCESS])
+def test_success_accepts_some(status: Status) -> None:
+    assert cipy.status.Success()(status)
+
+
+@pytest.mark.parametrize("status", [Status.FAILURE, Status.CANCELLED])
+def test_success_rejects_some(status: Status) -> None:
+    assert cipy.status.Success()(status) is False
+
+
+@pytest.mark.parametrize("status", [e for e in Status])
+def test_failure_rejects_all_but_failure(status: Status) -> None:
+    assert cipy.status.Failure()(status) is (status is Status.FAILURE)
+
+
+@pytest.mark.parametrize("status", [e for e in Status])
+def test_cancelled_rejects_all_but_cancelled(status: Status) -> None:
+    assert cipy.status.Cancelled()(status) is (status is Status.CANCELLED)
+
+
+def test_status_ior_is_max() -> None:
+    status = Status.SKIPPED
+    status |= Status.SUCCESS
+    assert status is Status.SUCCESS
+
+    status |= Status.FAILURE
+    assert status is Status.FAILURE
+
+    status |= Status.CANCELLED
+    assert status is Status.CANCELLED
+
+    status |= Status.SUCCESS
+    assert status is Status.CANCELLED