def test_curve(): s = Symbol('s') z = Symbol('z') # this curve is independent of the indicated parameter c = Curve([2 * s, s**2], (z, 0, 2)) assert c.parameter == z assert c.functions == (2 * s, s**2) assert c.arbitrary_point() == Point(2 * s, s**2) assert c.arbitrary_point(z) == Point(2 * s, s**2) # this is how it is normally used c = Curve([2 * s, s**2], (s, 0, 2)) assert c.parameter == s assert c.functions == (2 * s, s**2) t = Symbol('t') assert c.arbitrary_point() != Point(2 * t, t** 2) # the t returned as assumptions t = Symbol('t', real=True) # now t has the same assumptions so the test passes assert c.arbitrary_point() == Point(2 * t, t**2) assert c.arbitrary_point(z) == Point(2 * z, z**2) assert c.arbitrary_point(c.parameter) == Point(2 * s, s**2) assert c.arbitrary_point(None) == Point(2 * s, s**2) assert c.plot_interval() == [t, 0, 2] assert c.plot_interval(z) == [z, 0, 2] raises(ValueError, 'Curve((s), (s, 1, 2))') raises(ValueError, 'Curve((x, x * 2), (1, x))') raises(ValueError, 'Curve((s, s + t), (s, 1, 2)).arbitrary_point()') raises(ValueError, 'Curve((s, s + t), (t, 1, 2)).arbitrary_point(s)')
def test_curve(): s = Symbol('s') z = Symbol('z') # this curve is independent of the indicated parameter c = Curve([2*s, s**2], (z, 0, 2)) assert c.parameter == z assert c.functions == (2*s, s**2) assert c.arbitrary_point() == Point(2*s, s**2) assert c.arbitrary_point(z) == Point(2*s, s**2) # this is how it is normally used c = Curve([2*s, s**2], (s, 0, 2)) assert c.parameter == s assert c.functions == (2*s, s**2) t = Symbol('t') assert c.arbitrary_point() != Point(2*t, t**2) # the t returned as assumptions t = Symbol('t', real=True) # now t has the same assumptions so the test passes assert c.arbitrary_point() == Point(2*t, t**2) assert c.arbitrary_point(z) == Point(2*z, z**2) assert c.arbitrary_point(c.parameter) == Point(2*s, s**2) assert c.arbitrary_point(None) == Point(2*s, s**2) assert c.plot_interval() == [t, 0, 2] assert c.plot_interval(z) == [z, 0, 2] raises(ValueError, 'Curve((s), (s, 1, 2))') raises(ValueError, 'Curve((x, x * 2), (1, x))') raises(ValueError, 'Curve((s, s + t), (s, 1, 2)).arbitrary_point()') raises(ValueError, 'Curve((s, s + t), (t, 1, 2)).arbitrary_point(s)')
def test_curve(): x = Symbol("x", real=True) s = Symbol("s") z = Symbol("z") # this curve is independent of the indicated parameter c = Curve([2 * s, s ** 2], (z, 0, 2)) assert c.parameter == z assert c.functions == (2 * s, s ** 2) assert c.arbitrary_point() == Point(2 * s, s ** 2) assert c.arbitrary_point(z) == Point(2 * s, s ** 2) # this is how it is normally used c = Curve([2 * s, s ** 2], (s, 0, 2)) assert c.parameter == s assert c.functions == (2 * s, s ** 2) t = Symbol("t") # the t returned as assumptions assert c.arbitrary_point() != Point(2 * t, t ** 2) t = Symbol("t", real=True) # now t has the same assumptions so the test passes assert c.arbitrary_point() == Point(2 * t, t ** 2) assert c.arbitrary_point(z) == Point(2 * z, z ** 2) assert c.arbitrary_point(c.parameter) == Point(2 * s, s ** 2) assert c.arbitrary_point(None) == Point(2 * s, s ** 2) assert c.plot_interval() == [t, 0, 2] assert c.plot_interval(z) == [z, 0, 2] assert ( Curve([x, x], (x, 0, 1)) .rotate(pi / 2, (1, 2)) .scale(2, 3) .translate(1, 3) .arbitrary_point(s) == Line((0, 0), (1, 1)) .rotate(pi / 2, (1, 2)) .scale(2, 3) .translate(1, 3) .arbitrary_point(s) == Point(-2 * s + 7, 3 * s + 6) ) raises(ValueError, lambda: Curve((s), (s, 1, 2))) raises(ValueError, lambda: Curve((x, x * 2), (1, x))) raises(ValueError, lambda: Curve((s, s + t), (s, 1, 2)).arbitrary_point()) raises(ValueError, lambda: Curve((s, s + t), (t, 1, 2)).arbitrary_point(s))
def test_curve(): s = Symbol('s') z = Symbol('z') # this curve is independent of the indicated parameter c = Curve([2*s, s**2], (z, 0, 2)) assert c.parameter == z assert c.functions == (2*s, s**2) assert c.arbitrary_point() == Point(2*s, s**2) assert c.arbitrary_point(z) == Point(2*s, s**2) # this is how it is normally used c = Curve([2*s, s**2], (s, 0, 2)) assert c.parameter == s assert c.functions == (2*s, s**2) t = Symbol('t') assert c.arbitrary_point( ) != Point(2*t, t**2) # the t returned as assumptions t = Symbol( 't', real=True) # now t has the same assumptions so the test passes assert c.arbitrary_point() == Point(2*t, t**2) assert c.arbitrary_point(z) == Point(2*z, z**2) assert c.arbitrary_point(c.parameter) == Point(2*s, s**2) assert c.arbitrary_point(None) == Point(2*s, s**2) assert c.plot_interval() == [t, 0, 2] assert c.plot_interval(z) == [z, 0, 2] assert Curve([x, x], (x, 0, 1) ).rotate(pi/2, (1, 2)).scale(2, 3).translate(1, 3).arbitrary_point(s ) == \ Line((0, 0), (1, 1) ).rotate(pi/2, (1, 2)).scale(2, 3).translate(1, 3).arbitrary_point(s ) == Point(-2*s + 7, 3*s + 6) raises(ValueError, lambda: Curve((s), (s, 1, 2))) raises(ValueError, lambda: Curve((x, x * 2), (1, x))) raises(ValueError, lambda: Curve((s, s + t), (s, 1, 2)).arbitrary_point()) raises(ValueError, lambda: Curve((s, s + t), (t, 1, 2)).arbitrary_point(s))