forked from hofmannol/AlgoDatSoSe25
57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
from unittest import TestCase
|
|
from utils.literal import Literal
|
|
from utils.memory_array import MemoryArray
|
|
import random
|
|
|
|
class TestMemoryArray(TestCase):
|
|
|
|
def test_create_array(self):
|
|
l = random.randint(5,10)
|
|
size = Literal(l)
|
|
a = MemoryArray(size)
|
|
self.assertEqual(len(a), l)
|
|
|
|
def test_set_item(self):
|
|
l = random.randint(5,10)
|
|
size = Literal(l)
|
|
a = MemoryArray(size)
|
|
i = Literal(random.randint(0,l-1))
|
|
v = Literal(random.randint(1,100))
|
|
a[i] = v
|
|
self.assertEqual(a[i].value, v.value)
|
|
|
|
def test_get_item(self):
|
|
l = random.randint(5,10)
|
|
size = Literal(l)
|
|
a = MemoryArray(size)
|
|
values = []
|
|
for i in a.indices():
|
|
v = Literal(random.randint(1,100))
|
|
values.append(v.value)
|
|
a[i] = v
|
|
for pos, i in enumerate(a.indices()):
|
|
self.assertEqual(a[i].value, values[pos])
|
|
|
|
def test_reset_counters(self):
|
|
l = random.randint(5,10)
|
|
size = Literal(l)
|
|
a = MemoryArray(size)
|
|
for i in a.indices():
|
|
v = Literal(random.randint(1,100))
|
|
a[i] = v
|
|
for i in a.indices():
|
|
self.assertEqual(a[i].write_count, 1)
|
|
a.reset_counters()
|
|
|
|
for i in a.indices():
|
|
self.assertEqual(a[i].write_count, 0)
|
|
|
|
def test_create_random_array(self):
|
|
a = MemoryArray.create_random_array(10, 1, 100)
|
|
self.assertEqual(len(a), 10)
|
|
|
|
def test_create_array_from_file(self):
|
|
a = MemoryArray.create_array_from_file("data/seq0.txt")
|
|
self.assertEqual(len(a), 14)
|
|
|