diff --git a/test_gen.py b/test_gen.py new file mode 100644 index 0000000..9237d72 --- /dev/null +++ b/test_gen.py @@ -0,0 +1,67 @@ +import random +import sys + + +class Cache: + def __init__(self, cpst1, cpst2): + self.cpst1 = cpst1 + self.cpst2 = cpst2 + + self.list1 = [] + self.list2 = [] + + def put_page(self, id:int): + if(id in self.list1): + return 0 #tic + elif (id in self.list2): + self.list2.remove(id) #tic + if(len(self.list1) < self.cpst1): + self.list1.insert(0, id) + else: + self.list1.pop(-1) + self.list1.insert(0, id) + + elif (len(self.list2) < self.cpst2): + self.list2.insert(0, id) + + return 0 + else: + self.list2.pop(-1) + self.list2.insert(0, id) + + def ret_cache(self): + return self.list1 + self.list2 + + + + +if __name__ == "__main__": + + number_of_test = int(input()) + + with open('pytests.txt', 'w+') as file: + + for i in range(number_of_test): + vect = [] + szq1 = random.randint(5, 10) + szq2 = random.randint(5, 10) + num_of_requests = (random.randint(1, 100)) + + cache = Cache(szq1, szq2) + + vect.append(szq1) + vect.append(szq2) + vect.append(num_of_requests) + + for j in range(num_of_requests): + id = random.randint(0, 100) + + vect.append(id) + cache.put_page(id) + + file.write(str(vect)[1:-1].replace(", ", " ")) + file.write('\n') + + file.write(str(cache.ret_cache())[1:-1].replace(", ", " ")) + file.write('\n') +