diff --git a/tests/test_security_object.py b/tests/test_security_object.py new file mode 100644 index 00000000..1c02c822 --- /dev/null +++ b/tests/test_security_object.py @@ -0,0 +1,29 @@ +from unittest import TestCase +from zipline.assets._securities import Security + + +class TestSecurityRichCmp(TestCase): + def test_lt(self): + self.assertTrue(Security(3) < Security(4)) + self.assertFalse(Security(4) < Security(4)) + self.assertFalse(Security(5) < Security(4)) + + def test_le(self): + self.assertTrue(Security(3) <= Security(4)) + self.assertTrue(Security(4) <= Security(4)) + self.assertFalse(Security(5) <= Security(4)) + + def test_eq(self): + self.assertFalse(Security(3) == Security(4)) + self.assertTrue(Security(4) == Security(4)) + self.assertFalse(Security(5) == Security(4)) + + def test_ge(self): + self.assertFalse(Security(3) >= Security(4)) + self.assertTrue(Security(4) >= Security(4)) + self.assertTrue(Security(5) >= Security(4)) + + def test_gt(self): + self.assertFalse(Security(3) > Security(4)) + self.assertFalse(Security(4) > Security(4)) + self.assertTrue(Security(5) > Security(4)) diff --git a/zipline/assets/_securities.pyx b/zipline/assets/_securities.pyx index 6f8f2ebb..3d7cf539 100644 --- a/zipline/assets/_securities.pyx +++ b/zipline/assets/_securities.pyx @@ -120,7 +120,7 @@ cdef class Security: return compared == 1 elif op == 5: # >= - return compared == -1 or compared == 0 + return compared == 1 or compared == 0 def __str__(self): if self.symbol: