1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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);
}
}
|