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) values = [random.randint(1,100) for _ in range(l)] a = MemoryArray(values) for pos, i in enumerate(a.indices()): self.assertEqual(a[i].value, values[pos]) def test_reset_counters(self): l = random.randint(5,10) values = [random.randint(1,100) for _ in range(l)] a = MemoryArray(values) 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)