package network.rs485.ben.computervision import kotlin.test.Test import kotlin.test.assertFalse import kotlin.test.assertTrue internal class LineTest { @Test fun `line intersect fails for lines on different y`() { val a = Pixel(0, 0) to Pixel(1, 0) val b = Pixel(0, 1) to Pixel(1, 1) assertFalse { a.intersects(b) } assertFalse { b.intersects(a) } } @Test fun `line intersect fails for unconnected lines`() { val a = Pixel(0, 0) to Pixel(1, 0) val b = Pixel(2, 0) to Pixel(3, 0) assertFalse { a.intersects(b) } assertFalse { b.intersects(a) } } @Test fun `line intersect succeeds for connected lines`() { val a = Pixel(0, 0) to Pixel(2, 0) val b = Pixel(1, 0) to Pixel(3, 0) assertTrue { a.intersects(b) } assertTrue { b.intersects(a) } } @Test fun `line intersect succeeds for stacked lines`() { val a = Pixel(0, 0) to Pixel(3, 0) val b = Pixel(1, 0) to Pixel(2, 0) assertTrue { a.intersects(b) } assertTrue { b.intersects(a) } } }