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
