bc/tests/sanity/runtests.py

46 lines
1.1 KiB
Python
Raw Normal View History

import unittest
import os
import subprocess
def call_command(command_to_call):
result = subprocess.check_output(command_to_call, shell=True)
return result[:-1].decode("utf-8")
class TestBC(unittest.TestCase):
def test_divide(self):
result = call_command("echo '6.5 / 2.7' | bc")
self.assertEqual( result, '2')
def test_sum(self):
result = call_command("echo '2 + 5' | bc")
self.assertEqual( result, '7')
def test_difference(self):
result = call_command("echo '10 - 4' | bc")
self.assertEqual( result, '6')
def test_multiplying(self):
result = call_command("echo '3 * 8' | bc")
self.assertEqual( result, '24')
def test_scale(self):
result = call_command("echo 'scale = 2; 2 / 3' | bc")
self.assertEqual( result, '.66')
def test_remainder(self):
result = call_command("echo '6 % 4' | bc")
self.assertEqual( result, '2')
def test_exponent(self):
result = call_command("echo '10^2' | bc")
self.assertEqual( result, '100')
if __name__ == '__main__':
unittest.main()