Testing out JmonkeyEngine to make a game in Scala with Akka Actors within a pure FP layer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.3 KiB

3 years ago
  1. package wow.doge.mygame
  2. import org.scalatest.funsuite.AnyFunSuite
  3. import wow.doge.mygame.math.ImVector3f
  4. import com.typesafe.scalalogging.LazyLogging
  5. import cats.syntax.eq._
  6. import cats.syntax.show._
  7. class ImVector3fTest extends AnyFunSuite with LazyLogging {
  8. test("maxvalue") {
  9. val v1 = ImVector3f.Max
  10. val v2 = ImVector3f.Max
  11. logger.info(ImVector3f.dst(v1, v2).show)
  12. }
  13. test("minvalue") {
  14. val v1 = ImVector3f.Min
  15. val v2 = ImVector3f.Min
  16. logger.info(ImVector3f.dst(v1, v2).show)
  17. }
  18. test("maxvalue and unit") {
  19. val v1 = ImVector3f.Max
  20. val v2 = ImVector3f(1, 1, 1)
  21. assert(ImVector3f.dst(v1, v2) eqv 5.8938631329669654e38)
  22. assert(ImVector3f.dst(v1, v2) eqv ImVector3f.dst(v2, v1))
  23. }
  24. test("minvalue and unit") {
  25. val v1 = ImVector3f.Min
  26. val v2 = ImVector3f(1, 1, 1)
  27. assert(ImVector3f.dst(v1, v2) eqv 5.8938631329669654e38)
  28. assert(ImVector3f.dst(v1, v2) eqv ImVector3f.dst(v2, v1))
  29. }
  30. test("another") {
  31. {
  32. val v1 = ImVector3f(1, 0, 0)
  33. val v2 = ImVector3f(1, 1, 1)
  34. logger.info(ImVector3f.dst(v1, v2).show)
  35. assert(ImVector3f.dst(v1, v2) eqv ImVector3f.dst(v2, v1))
  36. }
  37. {
  38. val v1 = ImVector3f(1, 1, 0)
  39. val v2 = ImVector3f(1, 1, 1)
  40. logger.info(ImVector3f.dst(v1, v2).show)
  41. assert(ImVector3f.dst(v1, v2) eqv ImVector3f.dst(v2, v1))
  42. }
  43. }
  44. }