Source code for TASSELpy.test.utils.cachingTest

import unittest
from TASSELpy.utils.caching import doubleLinkedList, doubleLinkedListNode
from TASSELpy.utils.caching import LRUcache
from TASSELpy.TASSELbridge import TASSELbridge
import javabridge
try:
    try:
        javabridge.get_env()
    except AttributeError:
        TASSELbridge.start()
    except AssertionError:
        TASSELbridge.start()
except:
    raise RuntimeError("Could not start JVM")

debug = False

[docs]class doubleLinkedListTest(unittest.TestCase):
[docs] def setUp(self): self.list = doubleLinkedList() self.list.append(1) self.list.append(2) self.list.append(3) self.list.append(4)
[docs] def test_getFirst(self): if debug: print("Testing getFirst") self.assertEqual(self.list.getFirst(),1)
[docs] def test_getLast(self): if debug: print("Testing getLast") self.assertEqual(self.list.getLast(),4)
[docs] def test_pop(self): if debug: print("Testing pop") popped = self.list.pop() self.assertEqual(popped,4) self.assertEqual(len(self.list),3) self.assertEqual(self.list.getLast(),3)
[docs] def test_popleft(self): if debug: print("Testing popleft") popped = self.list.popleft() self.assertEqual(popped,1) self.assertEqual(len(self.list), 3) self.assertEqual(self.list.getFirst(),2)
[docs] def test_removeNode(self): if debug: print("Testing removeNode") newNode1 = doubleLinkedListNode() newNode2 = doubleLinkedListNode() newNode1.setElement(5) newNode2.setElement(6) self.list.append(newNode1) self.list.append(newNode2) self.assertEqual(len(self.list),6) self.assertEqual(self.list.getLast(),6) self.list.removeNode(newNode1) nodeList = [x for x in self.list] self.assertEqual([1,2,3,4,6],nodeList)
[docs]class LRUcacheTest(unittest.TestCase):
[docs] def test_all(self): if debug: print("Testing LRUcache") retrieveFunc = lambda x: int(x) cache = LRUcache(retrieveFunc, maxsize=3) self.assertEqual(cache['1'],1) self.assertEqual(cache['2'],2) self.assertEqual(cache['3'],3) self.assertEqual(cache['4'],4) self.assertEqual(len(cache),3) self.assertEqual([x for x in cache._keyQueue],['2','3','4']) cache['1'] = 1 self.assertEqual(len(cache),3) self.assertEqual([x for x in cache._keyQueue],['3','4','1'])
if __name__ == "__main__": debug = True unittest.main(exit=False) TASSELbridge.stop()