Skip to content

Instantly share code, notes, and snippets.

@mattstibbs
Created October 29, 2017 17:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattstibbs/b5803ba75bfb0e036bf3d9d412802c77 to your computer and use it in GitHub Desktop.
Save mattstibbs/b5803ba75bfb0e036bf3d9d412802c77 to your computer and use it in GitHub Desktop.
RecentlyUsedList-tests
import unittest
from recently_used_list import RecentlyUsedList
class RULTests(unittest.TestCase):
def setUp(self):
self.rul = RecentlyUsedList()
def test_new_RUL_gives_empty_list(self):
self.assertEqual(len(self.rul), 0)
def test_insert_adds_item_to_list(self):
self.rul.insert('First')
self.assertEqual(len(self.rul), 1)
def test_get_first_item(self):
self.rul.insert('First')
self.assertEqual(self.rul[0], 'First')
def test_RUL_is_listifiable(self):
list(self.rul)
def test_if_list_is_equal_to_empty_list(self):
self.assertEqual(len(list(self.rul)), len([]))
def test_adding_3_items_gives_list_of_length_3(self):
self.rul.insert('First')
self.rul.insert('Second')
self.rul.insert('Third')
self.assertEqual(len(self.rul), 3)
def test_items_are_added_in_filo_order(self):
self.rul.insert('First')
self.rul.insert('Second')
self.assertEqual(self.rul[0], 'Second')
def test_adding_duplicate_item_does_not_change_len(self):
self.rul.insert('First')
self.rul.insert('Second')
self.rul.insert('First')
self.assertEqual(len(self.rul), 2)
def test_adding_duplicate_item_moves_it_to_front(self):
self.rul.insert('First')
self.rul.insert('Second')
self.rul.insert('First')
self.assertEqual(self.rul[0], 'First')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment