def test_hw06_prob01_ut01(self): print( '\n***** CS3430: S20: HW06: Problem 01: Unit Test 01 ************') rslt = drv.drv_const(maker.make_const(1.0)) err = 0.0001 assert isinstance(rslt, const) assert abs(rslt.get_val() - 0.0) <= err rslt = drv.drv_const(maker.make_const(153.0)) assert isinstance(rslt, const) assert abs(rslt.get_val() - 0.0) <= err print('CS 3430: S20: HW06: Problem 01: Unit Test 01: pass')
def parse_elt(elt): # let's make sure that elt is a string. assert isinstance(elt, str) elt = elt.split('^') prod = maker.make_prod(maker.make_const(float(elt[0][:-1])), maker.make_pwr(elt[0][-1], float(elt[1]))) return prod
def drv_prod(expr): m1 = expr.get_mult1() m2 = expr.get_mult2() assert isinstance(m1, const) assert isinstance(m2, pwr) pr = drv.drv_pwr(m2) return maker.make_prod( maker.make_const(m1.get_val() * m2.get_deg().get_val()), pr)
def drv_pwr(expr): b = expr.get_base() d = expr.get_deg() assert (isinstance(b, pwr) and b.get_deg().get_val() == 1.0) or \ (isinstance(b, var)) assert isinstance(d, const) return maker.make_prod(maker.make_const(1), maker.make_pwr(b.get_name(), d.get_val() - 1))
def drv_const(expr): return maker.make_const(0)