Sha256: 4798e4ab154af334f06f6ebf5e615d23a8eae297aaa297bac453b00c2850f1f5

Contents?: true

Size: 1.84 KB

Versions: 26

Compression:

Stored size: 1.84 KB

Contents

import unittest

from anagram import detect_anagrams


class AnagramTests(unittest.TestCase):
    def test_no_matches(self):
        self.assertEqual(
            [],
            detect_anagrams('diaper', 'hello world zombies pants'.split())
        )

    def test_detect_simple_anagram(self):
        self.assertEqual(
            ['tan'],
            detect_anagrams('ant', 'tan stand at'.split())
        )

    def test_detect_multiple_anagrams(self):
        self.assertEqual(
            ['stream', 'maters'],
            detect_anagrams('master', 'stream pigeon maters'.split())
        )

    def test_does_not_confuse_different_duplicates(self):
        self.assertEqual(
            [],
            detect_anagrams('galea', ['eagle'])
        )

    def test_eliminate_anagram_subsets(self):
        self.assertEqual(
            [],
            detect_anagrams('good', 'dog goody'.split())
        )

    def test_detect_anagram(self):
        self.assertEqual(
            ['inlets'],
            detect_anagrams('listen', 'enlists google inlets banana'.split())
        )

    def test_multiple_anagrams(self):
        self.assertEqual(
            'gallery regally largely'.split(),
            detect_anagrams(
                'allergy',
                'gallery ballerina regally clergy largely leading'.split()
            )
        )

    def test_anagrams_are_case_insensitive(self):
        self.assertEqual(
            ['Carthorse'],
            detect_anagrams('Orchestra',
                            'cashregister Carthorse radishes'.split())
        )

    def test_same_word_isnt_anagram(self):
        self.assertEqual(
            [],
            detect_anagrams('banana', ['banana'])
        )

        self.assertEqual(
            [],
            detect_anagrams('go', 'go Go GO'.split())
        )

if __name__ == '__main__':
    unittest.main()

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
trackler-2.0.3.0 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.2.0 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.1.2 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.1.1 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.1.0 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.10 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.9 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.8 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.7 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.6 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.5 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.4 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.3 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.2 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.1 tracks/python/exercises/anagram/anagram_test.py
trackler-2.0.0.0 tracks/python/exercises/anagram/anagram_test.py
trackler-1.0.4.1 tracks/python/exercises/anagram/anagram_test.py
trackler-1.0.4.0 tracks/python/exercises/anagram/anagram_test.py
trackler-1.0.3.0 tracks/python/exercises/anagram/anagram_test.py
trackler-1.0.2.1 tracks/python/exercises/anagram/anagram_test.py