def addRecord(self, newID, newGender, newAge, newSales, newBMI, newIncome, autoID, overwrite): typeCheckStringERR(newID) preppedID = None invalidID = False origRec = None insertPos = None overwriteSignal = 0 # will become 1 if overwriting will be used try: preppedID = self._prepID(newID) origRec, insertPos = self._prot_findRecord(preppedID) except InvalidIDException: invalidID = True if origRec is not None and overwrite: overwriteSignal = 1 elif (origRec is not None or invalidID) and autoID: preppedID, insertPos = self._autoID() # doNotUse, insertPos = self._prot_findRecord(preppedID) elif origRec is not None: raise DuplicateIDException() elif invalidID: raise InvalidIDException() newRec = Record(preppedID, newGender) self._allMyRecords[insertPos:insertPos + overwriteSignal] = [newRec] newRec.setAge(newAge) newRec.setSales(newSales) newRec.setBMI(newBMI) newRec.setIncome(newIncome)
def test_NoChangeSales02(self): """ Expect sales to remain after attempting to set it to 406.5 (decimal) """ expSales = 410 rec = Record(None, "F") """Default values proven in other test""" rec.setSales(expSales) rec.setSales(406.5) self.assertEqual(expSales, rec.getSales())
def test_NoChangeSales01(self): """ Expect sales to remain after attempting to set it to 1000 (over the limit) """ expSales = 999 rec = Record(None, "M") """Default values proven in other test""" rec.setSales(expSales) rec.setSales(1000) self.assertEqual(expSales, rec.getSales())
def test_NoChangeSales03(self): """ Expect sales to remain after attempting to set it to "A" String can be used for the method, but "A" represents no number """ expSales = 330 salesStr = str(330) rec = Record(None, "F") """Default values proven in other test""" rec.setSales(salesStr) rec.setSales("A") self.assertEqual(expSales, rec.getSales())