3 changed files with 92 additions and 53 deletions
-
1.gitignore
-
53test.py
-
91tests.py
@ -1,3 +1,4 @@ |
|||||
|
|
||||
.dir-locals.el |
.dir-locals.el |
||||
__pycache__ |
__pycache__ |
||||
|
.#* |
||||
@ -1,53 +0,0 @@ |
|||||
from register import Accumulator |
|
||||
|
|
||||
TESTS = [] |
|
||||
|
|
||||
|
|
||||
def test(func): |
|
||||
global TESTS |
|
||||
TESTS.append(func) |
|
||||
return func |
|
||||
|
|
||||
|
|
||||
@test |
|
||||
def test_set(): |
|
||||
pass |
|
||||
|
|
||||
|
|
||||
@test |
|
||||
def test_get(): |
|
||||
pass |
|
||||
|
|
||||
|
|
||||
@test |
|
||||
def test_get_signed(): |
|
||||
pass |
|
||||
|
|
||||
|
|
||||
@test |
|
||||
def test_negate(): |
|
||||
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() |
|
||||
@ -0,0 +1,91 @@ |
|||||
|
import random |
||||
|
from unittest import TestCase |
||||
|
|
||||
|
from register import Accumulator, Register |
||||
|
|
||||
|
TESTS = [] |
||||
|
|
||||
|
|
||||
|
class RegisterTest(TestCase): |
||||
|
def setUp(self): |
||||
|
Register.registers = [] |
||||
|
self.test_accumulator = Accumulator(8) |
||||
|
self.test_register = Register(8) |
||||
|
|
||||
|
|
||||
|
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) |
||||
|
|
||||
|
def test_set_overflow(self): |
||||
|
test_val = random.randint(256, 1024) |
||||
|
self.test_register.set(test_val) |
||||
|
self.assertEqual(test_val % 256, self.test_register.value) |
||||
|
|
||||
|
def test_2s_complement(self): |
||||
|
test_val = -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) |
||||
|
self.test_register.set(test_val) |
||||
|
self.assertEqual(self.test_register.value, test_val % -128) |
||||
|
|
||||
|
|
||||
|
class TestNegation(RegisterTest): |
||||
|
def test_negate(self): |
||||
|
test_val = random.randint(0, 127) |
||||
|
self.test_register.set(test_val) |
||||
|
self.test_register.negate() |
||||
|
self.assertEqual(self.test_register.get_signed(), -test_val) |
||||
|
|
||||
|
def test_negate_overflow(self): |
||||
|
test_val = random.randint(128, 1024) |
||||
|
self.test_register.set(test_val) |
||||
|
self.test_register.negate() |
||||
|
self.assertEqual(self.test_register.get_signed()) |
||||
|
|
||||
|
def test_negate_negative(self): |
||||
|
|
||||
|
test_val = -random.randint(0, 127) |
||||
|
self.test_register.set(test_val) |
||||
|
self.test_register.negate() |
||||
|
self.assertEqual(self.test_register.get_signed(), -test_val) |
||||
|
|
||||
|
def test_negate_negative_overflow(self): |
||||
|
test_val = -random.randint(128, 1024) |
||||
|
self.test_register.set(test_val) |
||||
|
self.test_register.negate() |
||||
|
self.assertEqual(self.test_register.get_signed()) |
||||
|
|
||||
|
|
||||
|
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() |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue