From a3a9a0f6cf826d27b2554e831133ddf2f303350d Mon Sep 17 00:00:00 2001 From: Matthias Koeppe Date: Wed, 14 Sep 2016 16:37:52 -0700 Subject: [PATCH] GenericBackend._test_sense: New --- .../numerical/backends/generic_backend.pyx | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/sage/numerical/backends/generic_backend.pyx b/src/sage/numerical/backends/generic_backend.pyx index 9e7876200b6..ebbe89a6c40 100644 --- a/src/sage/numerical/backends/generic_backend.pyx +++ b/src/sage/numerical/backends/generic_backend.pyx @@ -255,6 +255,28 @@ cdef class GenericBackend: """ raise NotImplementedError() + @classmethod + def _test_sense(cls, tester=None, **options): + """ + Run tests on `set_sense` and `is_maximization`. + + TEST:: + + sage: from sage.numerical.backends.generic_backend import GenericBackend + sage: p = GenericBackend() + sage: p._test_sense() # optional - Nonexistent_LP_solver + Exception NotImplementedError ... + + """ + p = cls() # fresh instance of the backend + if tester is None: + tester = p._tester(**options) + tester.assertEqual(p.is_maximization(), True) + tester.assertIsNone(p.set_sense(-1)) + tester.assertEqual(p.is_maximization(), False) + tester.assertIsNone(p.set_sense(1)) + tester.assertEqual(p.is_maximization(), True) + cpdef objective_coefficient(self, int variable, coeff=None): """ Set or get the coefficient of a variable in the objective