import numpy as np from ray import Ray from sphere import Sphere from vector import Vector def test_intersect(): sphere = Sphere( r0=Vector.fromargs(0, 0), radius=1, ) assert sphere.intersect(Ray( r0=Vector.fromargs(-2, 0), e=Vector.fromargs(1, 0), )) == 1 assert sphere.intersect(Ray( r0=Vector.fromargs(-1, -1), e=Vector.fromargs(1, 1), )) == np.sqrt(2) - 1