From 9ca83a95727be700ca789044d0a13e47dc67ba2e Mon Sep 17 00:00:00 2001 From: Thomas Grainger Date: Sun, 21 Mar 2021 21:57:30 +0000 Subject: [PATCH] test the NotImplemented Version comparison operations --- src/incremental/tests/test_version.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/incremental/tests/test_version.py b/src/incremental/tests/test_version.py index 72223f0..ec12d0d 100644 --- a/src/incremental/tests/test_version.py +++ b/src/incremental/tests/test_version.py @@ -7,6 +7,8 @@ Tests for L{incremental}. from __future__ import division, absolute_import +import sys +import unittest import operator from incremental import getVersionString, IncomparableVersions @@ -37,6 +39,29 @@ class VersionsTests(TestCase): self.assertTrue(vb == Version("dummy", 0, 1, 0)) self.assertTrue(vb == vb) + @unittest.skipIf(sys.version_info < (3, 0), "Comparisons do not raise on py2") + def test_versionComparisonNonVersion(self): + """ + Versions can be compared with non-versions. + """ + v = Version("dummy", 1, 0, 0) + o = object() + + with self.assertRaises(TypeError): + v > o + + with self.assertRaises(TypeError): + v < o + + with self.assertRaises(TypeError): + v >= o + + with self.assertRaises(TypeError): + v <= o + + self.assertFalse(v == o) + self.assertTrue(v != o) + def test_versionComparisonCaseInsensitive(self): """ Version package names are case insensitive.