/
PolarCoordinateTest.java
128 lines (84 loc) · 3.1 KB
/
PolarCoordinateTest.java
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package de.stevenschwenke.java.javafx.simFX.business.logicalObjects;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import de.stevenschwenke.java.javafx.simFX.business.logicalObjects.CartesianCoordinate;
import de.stevenschwenke.java.javafx.simFX.business.logicalObjects.PolarCoordinate;
/**
* Tests for {@link PolarCoordinate}.
*
* @author Steven Schwenke
*
*/
public class PolarCoordinateTest {
/**
*
*/
private static final float SMALL_OFFSET = 0.001f;
@Test
public void nullVectorToCartesianCoordinatesTest() {
PolarCoordinate pc = new PolarCoordinate(90, 0);
CartesianCoordinate cc = pc.toCartesianCoordinates();
assertEquals(0f, cc.getX(), SMALL_OFFSET);
assertEquals(0f, cc.getY(), SMALL_OFFSET);
}
// Quadrant 1 in unit circle
@Test
public void unitCircleVectorNorthToCartesianCoordinatesTest() {
PolarCoordinate pc = new PolarCoordinate(0, 1);
CartesianCoordinate cc = pc.toCartesianCoordinates();
assertEquals(0f, cc.getX(), SMALL_OFFSET);
assertEquals(1f, cc.getY(), SMALL_OFFSET);
}
@Test
public void firstQuadrantToCartesianCoordinatesTest() {
PolarCoordinate pc = new PolarCoordinate(45, 1);
CartesianCoordinate cc = pc.toCartesianCoordinates();
assertEquals(Math.sqrt(0.5d), cc.getX(), SMALL_OFFSET);
assertEquals(Math.sqrt(0.5d), cc.getY(), SMALL_OFFSET);
}
// Quadrant 2 in unit circle
@Test
public void unitCircleVectorEastToCartesianCoordinatesTest() {
PolarCoordinate pc = new PolarCoordinate(90, 1);
CartesianCoordinate cc = pc.toCartesianCoordinates();
assertEquals(1f, cc.getX(), SMALL_OFFSET);
assertEquals(0f, cc.getY(), SMALL_OFFSET);
}
@Test
public void secondQuadrantToCartesianCoordinatesTest() {
PolarCoordinate pc = new PolarCoordinate(135, 1);
CartesianCoordinate cc = pc.toCartesianCoordinates();
assertEquals(Math.sqrt(0.5d), cc.getX(), SMALL_OFFSET);
assertEquals(-Math.sqrt(0.5d), cc.getY(), SMALL_OFFSET);
}
// Quadrant 3 in unit circle
@Test
public void unitCircleVectorSouthToCartesianCoordinatesTest() {
PolarCoordinate pc = new PolarCoordinate(180, 1);
CartesianCoordinate cc = pc.toCartesianCoordinates();
assertEquals(0f, cc.getX(), SMALL_OFFSET);
assertEquals(-1f, cc.getY(), SMALL_OFFSET);
}
@Test
public void thirdQuadrantToCartesianCoordinatesTest() {
PolarCoordinate pc = new PolarCoordinate(225, 1);
CartesianCoordinate cc = pc.toCartesianCoordinates();
assertEquals(-Math.sqrt(0.5d), cc.getX(), SMALL_OFFSET);
assertEquals(-Math.sqrt(0.5d), cc.getY(), SMALL_OFFSET);
}
// Quadrant 4 in unit circle
@Test
public void unitCircleVectorWestToCartesianCoordinatesTest() {
PolarCoordinate pc = new PolarCoordinate(270, 1);
CartesianCoordinate cc = pc.toCartesianCoordinates();
assertEquals(-1f, cc.getX(), SMALL_OFFSET);
assertEquals(0f, cc.getY(), SMALL_OFFSET);
}
@Test
public void fourthQuadrantToCartesianCoordinatesTest() {
PolarCoordinate pc = new PolarCoordinate(315, 1);
CartesianCoordinate cc = pc.toCartesianCoordinates();
assertEquals(-Math.sqrt(0.5d), cc.getX(), SMALL_OFFSET);
assertEquals(Math.sqrt(0.5d), cc.getY(), SMALL_OFFSET);
}
}