test_gen
This commit is contained in:
parent
c742d6b58d
commit
b577a5fe02
67
test_gen.py
Normal file
67
test_gen.py
Normal 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')
|
||||
|
Loading…
Reference in New Issue
Block a user