aboutsummaryrefslogtreecommitdiff
path: root/comp2511/blackout/tests/Task1Tests.java
diff options
context:
space:
mode:
authorNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-02-13 18:00:17 +1100
committerNicolas James <Eele1Ephe7uZahRie@tutanota.com>2025-02-13 18:00:17 +1100
commit98cef5e9a772602d42acfcf233838c760424db9a (patch)
tree5277fa1d7cc0a69a0f166fcbf10fd320f345f049 /comp2511/blackout/tests/Task1Tests.java
initial commit
Diffstat (limited to 'comp2511/blackout/tests/Task1Tests.java')
-rw-r--r--comp2511/blackout/tests/Task1Tests.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/comp2511/blackout/tests/Task1Tests.java b/comp2511/blackout/tests/Task1Tests.java
new file mode 100644
index 0000000..f5e2a55
--- /dev/null
+++ b/comp2511/blackout/tests/Task1Tests.java
@@ -0,0 +1,81 @@
+package blackout;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
+import org.junit.jupiter.api.TestInstance.Lifecycle;
+
+import unsw.blackout.BlackoutController;
+import unsw.response.models.EntityInfoResponse;
+import unsw.utils.Angle;
+
+import java.util.Arrays;
+
+import static blackout.TestHelpers.assertListAreEqualIgnoringOrder;
+
+@TestInstance(value = Lifecycle.PER_CLASS)
+public class Task1Tests {
+ @Test
+ public void testCreateDeviceList() {
+ BlackoutController controller = new BlackoutController();
+
+ controller.createDevice("DeviceA", "LaptopDevice", Angle.fromDegrees(310));
+ controller.createDevice("DeviceB", "LaptopDevice", Angle.fromDegrees(310));
+ assertListAreEqualIgnoringOrder(Arrays.asList("DeviceA", "DeviceB"), controller.listDeviceIds());
+ }
+
+ @Test
+ public void testCreateSatelliteList() {
+ BlackoutController controller = new BlackoutController();
+
+ controller.createSatellite("S1", "StandardSatellite", 0, Angle.fromDegrees(310));
+ controller.createSatellite("S2", "StandardSatellite", 0, Angle.fromDegrees(310));
+ assertListAreEqualIgnoringOrder(Arrays.asList("S1", "S2"), controller.listSatelliteIds());
+ }
+
+ @Test
+ public void testRemoveDeviceList() {
+ BlackoutController controller = new BlackoutController();
+
+ controller.createDevice("DeviceA", "LaptopDevice", Angle.fromDegrees(310));
+ controller.createDevice("DeviceB", "LaptopDevice", Angle.fromDegrees(310));
+ assertListAreEqualIgnoringOrder(Arrays.asList("DeviceA", "DeviceB"), controller.listDeviceIds());
+
+ controller.removeDevice("DeviceB");
+ assertListAreEqualIgnoringOrder(Arrays.asList("DeviceA"), controller.listDeviceIds());
+ }
+
+ @Test
+ public void testRemoveSatelliteList() {
+ BlackoutController controller = new BlackoutController();
+
+ controller.createSatellite("S1", "StandardSatellite", 0, Angle.fromDegrees(310));
+ controller.createSatellite("S2", "StandardSatellite", 0, Angle.fromDegrees(310));
+ assertListAreEqualIgnoringOrder(Arrays.asList("S1", "S2"), controller.listSatelliteIds());
+
+ controller.removeSatellite("S2");
+ assertListAreEqualIgnoringOrder(Arrays.asList("S1"), controller.listSatelliteIds());
+ }
+
+ @Test
+ public void testAddFileToDeviceInfoResponse() {
+ BlackoutController controller = new BlackoutController();
+
+ controller.createDevice("DeviceA", "LaptopDevice", Angle.fromDegrees(310));
+ assert(controller.getInfo("DeviceA").getFiles().size() == 0);
+ controller.addFileToDevice("DeviceA", "filename", "contents");
+ assert(controller.getInfo("DeviceA").getFiles().size() == 1);
+ }
+
+ @Test
+ public void testInfoResponse() {
+ BlackoutController controller = new BlackoutController();
+
+ controller.createSatellite("Satellite1", "StandardSatellite", 314159, Angle.fromDegrees(310));
+ EntityInfoResponse info = controller.getInfo("Satellite1");
+ assert(info.getDeviceId().equals("Satellite1"));
+ assert(info.getPosition().equals(Angle.fromDegrees(310)));
+ assert(info.getHeight() == 314159);
+ assert(info.getType().equals("StandardSatellite"));
+ assert(info.getFiles().size() == 0);
+ }
+}