def test_overload_sub(): x = DualNumber(5,2) y = DualNumber(7,1) assert (x - y).val == -2 and (x - y).der == 1 assert (x.__rsub__(y)).val == 2 and (x.__rsub__(y)).der == -1 assert (x - 5).val == 0 and (x - 5).der == 2 assert (x - 5.0).val == 0 and (x - 5.0).der == 2 assert (5 - x).val == 0 and (5 - x).der == -2 assert (5.0 - x).val == 0 and (5.0 - x).der == -2
def rm_test_overload_sub(): x = DualNumber(5,Reverse=True) y = DualNumber(7,Reverse=True) assert (x - y).val == -2 and (x - y).der == 0 assert (x.__rsub__(y)).val == 2 and (x.__rsub__(y)).der == 0 assert (x - 5).val == 0 and (x - 5).der == 0 assert (x - 5.0).val == 0 and (x - 5.0).der == 0 assert (5 - x).val == 0 and (5 - x).der == 0 assert (5.0 - x).val == 0 and (5.0 - x).der == 0