Problem 2-3 : 5.0 points Modify the EdxStudent class so that it passes all the unit tests, without throwing any exceptions. Paste your entire definition of the class into this box.
Consider the following class definition: class EdxStudent(object): def __init__(self,first,last): self.setName("given",first) self.setName("family",last) def setName(self,which,name): if which == "given" or which == "first": self.firstName = name elif which == "family" or which == "last": self.lastName = name else: raise ChoiceError(which) def getName(self,which): if which == "given" or which == "first": return firstName elif which == "family" or which == "last": return lastName raise ChoiceError(which) class ChoiceError(Exception): def __init__(self, value): self.value = value def __str__(self): return repr("Invalid value for name field:"+self.value) firstName = "Raquel" lastName = "Pomplun" try: student = EdxStudent(firstName,lastName) initialFirstName = student.getName("first") initialLastName = student.getName("last") newFirstName = student.getName("given") newLastName = student.getName("family") if initialFirstName == newFirstName and initialLastName == newLastName: print "Passed unit test 1" else: print "Failed unit test 1" student.setName("given","LeBron") student.setName("family","James") if "LeBron"+"James" == student.getName("first")+student.getName("last"): print "Passed unit test 2" else: print "Failed unit test 2" except ChoiceError as e: print "Failed unit test. Exception is:", print e
Basically all you have to do is make it so this part is passable: if "LeBron"+"James" == student.getName("first")+student.getName("last"): print "Passed unit test 2" else: print "Failed unit test 2"
class EdxStudent(object): def __init__(self,first,last): self.setName("given",first) self.setName("family",last) def setName(self,which,name): if which == "given" or which == "first": self.firstName = name elif which == "family" or which == "last": self.lastName = name else: raise ChoiceError(which) def getName(self,which): if which == "given" or which == "first": return firstName elif which == "family" or which == "last": return lastName raise ChoiceError(which) class ChoiceError(Exception): def __init__(self, value): self.value = value def __str__(self): return repr("Invalid value for name field:"+self.value) firstName = "LeBron" lastName = "James" try: student = EdxStudent(firstName,lastName) initialFirstName = student.getName("first") initialLastName = student.getName("last") newFirstName = student.getName("given") newLastName = student.getName("family") if initialFirstName == newFirstName and initialLastName == newLastName: print "Passed unit test 1" else: print "Failed unit test 1" student.setName("given","LeBron") student.setName("family","James") if "LeBron"+"James" == student.getName("first")+student.getName("last"): print "Passed unit test 2" else: print "Failed unit test 2" except ChoiceError as e: print "Failed unit test. Exception is:", print e
fault :(
help
No it should be fine. I got it right myself. Anyways, visit this site- http://www.getstudyroom.com/course/40429 I can help there.
Join our real-time social learning platform and learn together with your friends!