AlgoDatSoSe25/utils/test_memory_array.py
2025-03-25 19:20:32 +01:00

58 lines
1.6 KiB
Python

from unittest import TestCase
from literal import Literal
from memory_array import MemoryArray
import random
from pathlib import Path
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)