Files
vgstation13/code/modules/unit_tests/ray.dm
ShiftyRail d79c1fe070 Byond 516 v2.0 (#37553)
* The TGS thing

* Revert the 516 revert

* Further segment the world/New() proc

* Fixes an issue here
2025-05-12 00:50:25 -05:00

39 lines
1.2 KiB
Plaintext

/datum/unit_test/ray_equals/start()
var/_vector/origin = new /_vector(0,3)
var/_vector/direction = new /_vector(4,7)
var/ray/R1 = new /ray(origin, direction)
var/ray/R2 = new /ray(origin, direction)
if(!R1.equals(R2))
fail("Rays not equal")
/datum/unit_test/ray_overlaps/start()
var/_vector/origin = new /_vector(0,3)
var/_vector/direction = new /_vector(4,7)
var/ray/R1 = new /ray(origin, direction)
var/ray/R2 = new /ray(origin, direction)
if(!R1.overlaps(R2))
fail("Rays #1 not overlapping")
direction = new /_vector(-4,-7)
R1 = new /ray(origin, direction)
R2 = new /ray(origin, direction)
if(!R1.equals(R2))
fail("Rays #2 not overlapping")
/datum/unit_test/ray_hitsPoint/start()
var/_vector/origin = new /_vector(0,3)
var/_vector/direction = new /_vector(2,10)
var/_vector/P = new /_vector(1,8)
var/ray/R = new /ray(origin, direction)
if(!R.hitsPoint(P))
fail("Ray not hitting point")
/datum/unit_test/ray_getPoint/start()
var/_vector/origin = new /_vector(0,3)
var/_vector/direction = new /_vector(4,10)
var/distance = 0.5
var/_vector/P = new /_vector(0.2,3.5)
var/ray/R = new /ray(origin, direction)
if(!R.getPoint(distance).equals(P))
fail("Ray returned invalid point "+R.getPoint(distance).toString())