Assert an integer is within range

Yep_It's_Me picture Yep_It's_Me · Oct 24, 2014 · Viewed 18.1k times · Source

I am writing some unittests in python that are testing if I receive an integer. However sometimes this integer can be off by 1 or 2 and I don't really care. Essentially I want to be able to assert that the received integer is within a certain range, something like:

self.assertBetween(998, 1000, my_integer)

Is there an accepted way of doing this? Or will I have to do something like this:

self.assertTrue(998 <= my_integer)
self.assertTrue(my_integer <= 1000)

EDIT The answers so far suggest:

self.assertTrue(998 <= my_integer <= 1000)

Is there any benefit of this over my example with 2 asserts?

Answer

John Zwinck picture John Zwinck · Oct 24, 2014

You can use a "chained comparison":

self.assertTrue(998 <= my_integer <= 1000)