This commit is contained in:
ag 2024-09-21 01:39:53 +03:00
parent c742d6b58d
commit b577a5fe02

67
test_gen.py Normal file
View File

@ -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')