diff --git a/tests/snippets/builtin_range.py b/tests/snippets/builtin_range.py index 03d1cb2cf..664679578 100644 --- a/tests/snippets/builtin_range.py +++ b/tests/snippets/builtin_range.py @@ -33,6 +33,26 @@ assert range(1, 2, 3) == range(1, 2, 3) assert range(1, 2, 1) == range(1, 2) assert range(2) == range(0, 2) +#__lt__ +assert range(1, 2, 3).__lt__(range(1, 2, 3)) == NotImplemented +assert range(1, 2, 1).__lt__(range(1, 2)) == NotImplemented +assert range(2).__lt__(range(0, 2)) == NotImplemented + +#__gt__ +assert range(1, 2, 3).__gt__(range(1, 2, 3)) == NotImplemented +assert range(1, 2, 1).__gt__(range(1, 2)) == NotImplemented +assert range(2).__gt__(range(0, 2)) == NotImplemented + +#__le__ +assert range(1, 2, 3).__le__(range(1, 2, 3)) == NotImplemented +assert range(1, 2, 1).__le__(range(1, 2)) == NotImplemented +assert range(2).__le__(range(0, 2)) == NotImplemented + +#__ge__ +assert range(1, 2, 3).__ge__(range(1, 2, 3)) == NotImplemented +assert range(1, 2, 1).__ge__(range(1, 2)) == NotImplemented +assert range(2).__ge__(range(0, 2)) == NotImplemented + # __bool__ assert bool(range(1)) assert bool(range(1, 2)) diff --git a/vm/src/obj/objrange.rs b/vm/src/obj/objrange.rs index 05f8a787e..02f7806f3 100644 --- a/vm/src/obj/objrange.rs +++ b/vm/src/obj/objrange.rs @@ -245,6 +245,26 @@ impl PyRange { } } + #[pymethod(name = "__lt__")] + fn lt(&self, _rhs: PyObjectRef, vm: &VirtualMachine) -> PyResult { + Ok(vm.ctx.not_implemented()) + } + + #[pymethod(name = "__gt__")] + fn gt(&self, _rhs: PyObjectRef, vm: &VirtualMachine) -> PyResult { + Ok(vm.ctx.not_implemented()) + } + + #[pymethod(name = "__ge__")] + fn ge(&self, _rhs: PyObjectRef, vm:&VirtualMachine) -> PyResult { + Ok(vm.ctx.not_implemented()) + } + + #[pymethod(name = "__le__")] + fn le(&self, _rhs: PyObjectRef, vm: &VirtualMachine) -> PyResult { + Ok(vm.ctx.not_implemented()) + } + #[pymethod(name = "index")] fn index(&self, needle: PyObjectRef, vm: &VirtualMachine) -> PyResult { if let Ok(int) = needle.downcast::() {