From 193ba468e43bd4db5b5534d17472078708783349 Mon Sep 17 00:00:00 2001 From: Lulonaut Date: Sun, 12 Mar 2023 00:54:04 +0100 Subject: cheapest museum item to donate (#522) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: nea Co-authored-by: nea Co-authored-by: Roman / Linnea Gräf Co-authored-by: nopo Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com> --- .../notenoughupdates/util/RectangleTest.kt | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/test/kotlin/io/github/moulberry/notenoughupdates/util/RectangleTest.kt (limited to 'src/test/kotlin') diff --git a/src/test/kotlin/io/github/moulberry/notenoughupdates/util/RectangleTest.kt b/src/test/kotlin/io/github/moulberry/notenoughupdates/util/RectangleTest.kt new file mode 100644 index 00000000..6d4270dd --- /dev/null +++ b/src/test/kotlin/io/github/moulberry/notenoughupdates/util/RectangleTest.kt @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2023 NotEnoughUpdates contributors + * + * This file is part of NotEnoughUpdates. + * + * NotEnoughUpdates is free software: you can redistribute it + * and/or modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation, either + * version 3 of the License, or (at your option) any later version. + * + * NotEnoughUpdates is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with NotEnoughUpdates. If not, see . + */ + +package io.github.moulberry.notenoughupdates.util + +import org.junit.jupiter.api.Assertions.assertFalse +import org.junit.jupiter.api.Assertions.assertTrue +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.assertThrows + +class RectangleTest { + + @Test + fun testNoNegativeSizes() { + assertThrows { + Rectangle(0, 0, -1, 0) + } + assertThrows { + Rectangle(0, 0, 0, -1) + } + } + + @Test + fun testOverlaps() { + val topLeft = Rectangle(0, 0, 10, 10) + assertTrue(topLeft.intersects(topLeft)) + assertTrue(topLeft.intersects(Rectangle(9, 2, 1, 1))) + assertTrue(topLeft.intersects(Rectangle(-2, -2, 4, 4))) + assertTrue(topLeft.intersects(Rectangle(4, 4, 1, 1))) + assertFalse(topLeft.intersects(Rectangle(-2,-2, 1,1))) + assertFalse(topLeft.intersects(Rectangle(-2,-2, 2,2))) + } +} -- cgit