# Demonstrates violation of black box programming
# in Python!
#
# by Sara Sprenkle

class MyClass:
    """Represents a class, e.g., CSCI209, very simply."""
    
    def __init__(self):
        self._myclass = []
            
    def __str__(self):
        strrep = ""
        for member in self._myclass:
            strrep += str(member) + "\n"
        return strrep
        
    def addMember(self, newMember):
        if self._isValidMember(newMember):
            self._myclass.append(newMember)
        else:
            pass
            # raise Exception or similar ...
    
    def _isValidMember(self, potentialMember):
        if potentialMember.startswith("Nefarious"):
            return False
        return True
            
def main():
    myClass = MyClass()
    myClass.addMember("Nefarious Member")
    print(myClass)
    myClass._myclass.append("Nefarious Member")
    print(myClass)
    
if __name__ == "__main__":
    main()