コード例 #1
0
ファイル: keys.py プロジェクト: patricknevindwyer/Trieful
class StringKeyTests(unittest.TestCase):
	
	def setUp(self):
		self.trie = Trie()
		self.keys = ['bar', 'baz', 'barbell', 'foo', 'food', 'bar', 'bazbuzz', 'bazbuzz']
		
		for key in self.keys:
			self.trie.add(key, 1)
		
	def test_paths(self):
		paths = list(self.trie.paths())
		self.assertTrue(len(paths) == 6, "Trie::paths")
		
	def test_has(self):
		for key in self.keys:
			self.assertTrue(self.trie.has(key), "Trie::has")
			
	def test_in(self):
		for key in self.keys:
			self.assertTrue(key in self.trie, "Trie::__contains__")
	
	def test_get(self):
		for key in self.keys:
			self.assertTrue(self.trie.get(key) is not None, "Trie::get")
	
	def test_getItem(self):
		for key in self.keys:
			self.assertTrue(self.trie[key] is not None, "Trie::__getitem__")
			
	def test_remove(self):
		self.trie.remove('bar', 1)
		self.trie.remove('baz', 1)
		self.assertTrue(self.trie.get('bar') == 1, "Trie::remove")
		self.assertTrue(self.trie.get('baz') is None, "Trie::remove")

	
	def test_removeAll(self):
		self.trie.removeAll('bar')
		self.assertTrue(self.trie.get('bar') is None, "Trie::removeAll")
		self.assertTrue(self.trie.get('barbell') is not None, "Trie::removeAll retain leaves")
	
	def test_setItem(self):
		
		self.trie['blah'] = 1
		
		self.assertTrue(self.trie.get('blah') == 1, "Trie::__setitem__")
	
	def test_missingItems(self):
		notIn = ['bubbles', 'barb', 'bazz']
		
		for key in notIn:
			self.assertTrue(self.trie.get(key) is None, "Missing items")
		
	def test_singleItems(self):
		for item in ['baz', 'barbell', 'foo', 'food']:
			self.assertTrue(self.trie.get(item) == 1, "Trie::add non-duplicates")
	
	def test_doubleItems(self):
		for item in ['bar', 'bazbuzz']:
			self.assertTrue(self.trie.get(item) == [1, 1], "Trie::add duplicates")
コード例 #2
0
class StringKeyTests(unittest.TestCase):
    def setUp(self):
        self.trie = Trie()
        self.keys = [
            'bar', 'baz', 'barbell', 'foo', 'food', 'bar', 'bazbuzz', 'bazbuzz'
        ]

        for key in self.keys:
            self.trie.add(key, 1)

    def test_paths(self):
        paths = list(self.trie.paths())
        self.assertTrue(len(paths) == 6, "Trie::paths")

    def test_has(self):
        for key in self.keys:
            self.assertTrue(self.trie.has(key), "Trie::has")

    def test_in(self):
        for key in self.keys:
            self.assertTrue(key in self.trie, "Trie::__contains__")

    def test_get(self):
        for key in self.keys:
            self.assertTrue(self.trie.get(key) is not None, "Trie::get")

    def test_getItem(self):
        for key in self.keys:
            self.assertTrue(self.trie[key] is not None, "Trie::__getitem__")

    def test_remove(self):
        self.trie.remove('bar', 1)
        self.trie.remove('baz', 1)
        self.assertTrue(self.trie.get('bar') == 1, "Trie::remove")
        self.assertTrue(self.trie.get('baz') is None, "Trie::remove")

    def test_removeAll(self):
        self.trie.removeAll('bar')
        self.assertTrue(self.trie.get('bar') is None, "Trie::removeAll")
        self.assertTrue(
            self.trie.get('barbell') is not None,
            "Trie::removeAll retain leaves")

    def test_setItem(self):

        self.trie['blah'] = 1

        self.assertTrue(self.trie.get('blah') == 1, "Trie::__setitem__")

    def test_missingItems(self):
        notIn = ['bubbles', 'barb', 'bazz']

        for key in notIn:
            self.assertTrue(self.trie.get(key) is None, "Missing items")

    def test_singleItems(self):
        for item in ['baz', 'barbell', 'foo', 'food']:
            self.assertTrue(
                self.trie.get(item) == 1, "Trie::add non-duplicates")

    def test_doubleItems(self):
        for item in ['bar', 'bazbuzz']:
            self.assertTrue(
                self.trie.get(item) == [1, 1], "Trie::add duplicates")