ray_test.cpp 712 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * DoRayMe - a quick and dirty Raytracer
  3. * Ray unit tests
  4. *
  5. * Created by Manoël Trapier
  6. * Copyright (c) 2020 986-Studio.
  7. *
  8. */
  9. #include <ray.h>
  10. #include <gtest/gtest.h>
  11. TEST(RayTest, Creating_a_ray_and_querying_it)
  12. {
  13. Point origin = Point(1, 2, 3);
  14. Vector direction = Vector(4, 5, 6);
  15. Ray r = Ray(origin, direction);
  16. ASSERT_EQ(r.origin, origin);
  17. ASSERT_EQ(r.direction, direction);
  18. }
  19. TEST(RayTest, Computing_a_point_from_a_distance)
  20. {
  21. Ray r = Ray(Point(2, 3, 4), Vector(1, 0, 0));
  22. ASSERT_EQ(r.position(0), Point(2, 3, 4));
  23. ASSERT_EQ(r.position(1), Point(3, 3, 4));
  24. ASSERT_EQ(r.position(-1), Point(1, 3, 4));
  25. ASSERT_EQ(r.position(2.5), Point(4.5, 3, 4));
  26. }