def isAnagram(original, testable):

    # Check words are not the same
    if testable == original:
        return False

    # Ensure words are not a potential subset
    if len(testable) != len(original):
        return False

    # Ensure check letters are the same
    testable = testable.lower() # Make case insensitive
    original = original.lower()

    charPool = list(original)
    for char in testable:
        try:
            charPool.remove(char)
        except ValueError:
            return False

    return True

    
class Anagram(object):
    def __init__(self, baseWord):
        self.baseWord = baseWord    

    def match(self, testableList):
        return [word for word in testableList if isAnagram(self.baseWord, word)]

5c9ef7e74ac1183274d40a7a3377303f05e2d876
<mask token>


class Anagram(object):
    <mask token>
    <mask token>

<mask token>


class Anagram(object):

    def __init__(self, baseWord):
        self.baseWord = baseWord
    <mask token>

<mask token>


class Anagram(object):

    def __init__(self, baseWord):
        self.baseWord = baseWord

    def match(self, testableList):
        return [word for word in testableList if isAnagram(self.baseWord, word)
            ]

def isAnagram(original, testable):
    if testable == original:
        return False
    if len(testable) != len(original):
        return False
    testable = testable.lower()
    original = original.lower()
    charPool = list(original)
    for char in testable:
        try:
            charPool.remove(char)
        except ValueError:
            return False
    return True


class Anagram(object):

    def __init__(self, baseWord):
        self.baseWord = baseWord

    def match(self, testableList):
        return [word for word in testableList if isAnagram(self.baseWord, word)
            ]

def isAnagram(original, testable):

    # Check words are not the same
    if testable == original:
        return False

    # Ensure words are not a potential subset
    if len(testable) != len(original):
        return False

    # Ensure check letters are the same
    testable = testable.lower() # Make case insensitive
    original = original.lower()

    charPool = list(original)
    for char in testable:
        try:
            charPool.remove(char)
        except ValueError:
            return False

    return True

    
class Anagram(object):
    def __init__(self, baseWord):
        self.baseWord = baseWord    

    def match(self, testableList):
        return [word for word in testableList if isAnagram(self.baseWord, word)]
