Example #1
0
	def test_limit(self):
		r = RPN()

		assert r.calc('1 1 10 LIMIT') == 1
		assert r.calc('10 1 10 LIMIT') == 10
		assert r.calc('0 1 10 LIMIT') is None
		assert r.calc('-1 1 10 LIMIT') is None
		assert r.calc('100 1 10 LIMIT') is None
Example #2
0
	def test_basic_vars(self):
		r = RPN()

		assert r.calc('foo bar +', {
			'foo': 2,
			'bar': 3
		}) == 5
Example #3
0
	def test_multiple(self):
		r = RPN()

		assert r.calc('2 3 + 4 *') == 20
Example #4
0
	def test_complex(self):
		r = RPN()
		assert r.calc('3 4 2 * 1 5 - 2 3 ^ ^ / +') == 3.0001220703125
Example #5
0
	def test_less_than(self):
		r = RPN()
		self._assert_result(r.calc('1 2 LT'))
		self._assert_result(r.calc('2 2 LT'), False)
		self._assert_result(r.calc('3 2 LT'), False)
Example #6
0
	def test_if(self):
		r = RPN()

		assert r.calc('1 2 3 IF') == 2
		assert r.calc('0 2 3 IF') == 3
Example #7
0
	def test_not_equal(self):
		r = RPN()
		self._assert_result(r.calc('2 1 NE'))
		self._assert_result(r.calc('2 2 NE'), False)
Example #8
0
	def test_equal(self):
		r = RPN()
		self._assert_result(r.calc('2 2 EQ'))
		self._assert_result(r.calc('2 1 EQ'), False)
Example #9
0
	def test_greater_than_or_equal(self):
		r = RPN()
		self._assert_result(r.calc('2 1 GE'))
		self._assert_result(r.calc('2 2 GE'))
		self._assert_result(r.calc('2 3 GE'), False)
Example #10
0
	def test_greater_than(self):
		r = RPN()
		self._assert_result(r.calc('2 1 GT'))
		self._assert_result(r.calc('2 2 GT'), False)
		self._assert_result(r.calc('2 3 GT'), False)
Example #11
0
	def test_less_than_or_equal(self):
		r = RPN()
		self._assert_result(r.calc('1 2 LE'))
		self._assert_result(r.calc('2 2 LE'))
		self._assert_result(r.calc('3 2 LE'), False)
Example #12
0
	def test_min(self):
		r = RPN()

		assert r.calc('1 2 MIN') == 1
		assert r.calc('3 2 MIN') == 2
Example #13
0
	def test_max(self):
		r = RPN()

		assert r.calc('1 2 MAX') == 2
		assert r.calc('3 2 MAX') == 3