|
|
|
@ -1,5 +1,5 @@ |
|
|
|
import random |
|
|
|
from unittest import TestCase |
|
|
|
from unittest import TestCase, main as unittest_main |
|
|
|
|
|
|
|
from register import Accumulator, Register |
|
|
|
|
|
|
|
@ -17,7 +17,7 @@ class TestSetterGetter(RegisterTest): |
|
|
|
def test_set(self): |
|
|
|
test_val = random.randint(0, 255) |
|
|
|
self.test_register.set(test_val) |
|
|
|
self.assertEqual(test_register.value, test_val) |
|
|
|
self.assertEqual(self.test_register.value, test_val) |
|
|
|
|
|
|
|
def test_set_overflow(self): |
|
|
|
test_val = random.randint(256, 1024) |
|
|
|
@ -25,14 +25,14 @@ class TestSetterGetter(RegisterTest): |
|
|
|
self.assertEqual(test_val % 256, self.test_register.value) |
|
|
|
|
|
|
|
def test_2s_complement(self): |
|
|
|
test_val = -randint(0, 127) |
|
|
|
test_val = -random.randint(0, 127) |
|
|
|
self.test_register.set(test_val) |
|
|
|
self.assertEqual(self.test_register.get_signed(), test_val) |
|
|
|
|
|
|
|
def test_2s_complement_overflow(self): |
|
|
|
test_val = -randint(128, 1024) |
|
|
|
test_val = -random.randint(128, 1024) |
|
|
|
self.test_register.set(test_val) |
|
|
|
self.assertEqual(self.test_register.value, test_val % -128) |
|
|
|
self.assertEqual(self.test_register.get_signed(), test_val % -128) |
|
|
|
|
|
|
|
|
|
|
|
class TestNegation(RegisterTest): |
|
|
|
@ -46,7 +46,7 @@ class TestNegation(RegisterTest): |
|
|
|
test_val = random.randint(128, 1024) |
|
|
|
self.test_register.set(test_val) |
|
|
|
self.test_register.negate() |
|
|
|
self.assertEqual(self.test_register.get_signed()) |
|
|
|
self.assertEqual(self.test_register.get_signed(), -test_val % -128) |
|
|
|
|
|
|
|
def test_negate_negative(self): |
|
|
|
|
|
|
|
@ -59,33 +59,12 @@ class TestNegation(RegisterTest): |
|
|
|
test_val = -random.randint(128, 1024) |
|
|
|
self.test_register.set(test_val) |
|
|
|
self.test_register.negate() |
|
|
|
self.assertEqual(self.test_register.get_signed()) |
|
|
|
self.assertEqual(self.test_register.get_signed(), -test_val % 128) |
|
|
|
|
|
|
|
|
|
|
|
class TestAritmetic(RegisterTest): |
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
@test |
|
|
|
def test_shift_right(): |
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
@test |
|
|
|
def test_shift_left(): |
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
@test |
|
|
|
def test_add(): |
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
@test |
|
|
|
def test_subtract(): |
|
|
|
pass |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
for test_func in TESTS: |
|
|
|
test_func() |
|
|
|
unittest_main() |