collision_test.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // SuperTux
  2. // Copyright (C) 2016 Tapesh Mandal <tapesh.mandal@gmail.com>
  3. //
  4. // This program is free software: you can redistribute it and/or modify
  5. // it under the terms of the GNU General Public License as published by
  6. // the Free Software Foundation, either version 3 of the License, or
  7. // (at your option) any later version.
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU General Public License
  15. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. #include <gtest/gtest.h>
  17. #include "supertux/collision.hpp"
  18. #include "math/rectf.hpp"
  19. TEST(collisionTest, intersects_test)
  20. {
  21. Rectf r1(1.0,4.0,2.0,5.0);
  22. Rectf r2(6.0,8.0,10.0,9.0);
  23. ASSERT_EQ(false, collision::intersects(r1, r2));
  24. Rectf r3(8.0,3.0,10.0,5.0);
  25. Rectf r4(2.0,7.0,4.0,9.0);
  26. ASSERT_EQ(false, collision::intersects(r3, r4));
  27. Rectf r5(4.0,1.0,5.0,2.0);
  28. Rectf r6(8.0,6.0,9.0,10.0);
  29. ASSERT_EQ(false, collision::intersects(r5, r6));
  30. Rectf r7(3.0,8.0,5.0,10.0);
  31. Rectf r8(7.0,2.0,9.0,4.0);
  32. ASSERT_EQ(false, collision::intersects(r7, r8));
  33. Rectf r9(3.0,6.0,17.0,15.0);
  34. Rectf r10(9.0,7.0,10.0,8.0);
  35. ASSERT_EQ(true, collision::intersects(r9, r10));
  36. }
  37. /* EOF */