def test_linear(self): a = 0 b = 1 n = 1000 test_f = lambda x: x scipy_x = np.linspace(a, b, n + 1) scipy_y = test_f(scipy_x) self.assertAlmostEqual(trapz(f=test_f, a=a, b=b, N=n), integrate.trapz(scipy_y, scipy_x), places=9)
def test_quad2(): coef = {'A':1, 'B':3, 'C': 2} assert math.isclose(trapz(quad2, 2, 20, 1,1,1), 2880, rel_tol=.0001) assert math.isclose(trapz(quad2, 2, 20, 1,B=3,C=2), 3294, rel_tol=.0001) assert math.isclose(trapz(quad2, 2, 20, 1,3,C=2), 3294, rel_tol=.0001) assert math.isclose(trapz(quad2, 2, 20, **coef), 3294, rel_tol=.0001)
def test_quad_with_coefficents(): assert math.isclose(trapz(quad2, 0, 3, 1), 9, rel_tol=.0001)
def test_sin(): assert math.isclose(trapz(math.sin, 0, math.pi/2), 1, rel_tol=.0001)
def test_quad(): assert math.isclose(trapz(quad, 0, 3), 9, rel_tol=.0001)
def test_line(): assert trapz(line, 0, 10) == 50