File tree Expand file tree Collapse file tree 3 files changed +42
-3
lines changed
main/java/net/itarray/automotion/internal/geometry
test/java/net/itarray/automotion/tests/geometry Expand file tree Collapse file tree 3 files changed +42
-3
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ public boolean isEmpty() {
4141
4242 public Interval intersect (Interval interval ) {
4343 return new Interval (
44- begin .isLessOrEqualTo (interval .begin ) ? interval . begin : begin ,
45- end .isLessOrEqualTo (interval .end ) ? end : interval . end );
44+ begin .max (interval .begin ),
45+ end .min (interval .end ));
4646 }
4747}
Original file line number Diff line number Diff line change @@ -98,4 +98,12 @@ public Scalar times(Scalar multiplicator) {
9898 public Scalar by (Scalar divisor ) {
9999 return new Scalar (fraction .divide (divisor .fraction ));
100100 }
101+
102+ public Scalar min (Scalar other ) {
103+ return isLessOrEqualTo (other ) ? this : other ;
104+ }
105+
106+ public Scalar max (Scalar other ) {
107+ return isGreaterOrEqualTo (other ) ? this : other ;
108+ }
101109}
Original file line number Diff line number Diff line change @@ -131,10 +131,41 @@ public void isGreaterThanWorks() {
131131 }
132132
133133 @ Test
134- public void shouldName () {
134+ public void minimumWithSmallerScalarReturnsTheSmallerScalar () {
135+ assertThat (scalar .min (scalar .minus (1 ))).isEqualTo (scalar .minus (1 ));
136+ }
137+
138+ @ Test
139+ public void minimumWithEqualScalarReturnsTheScalar () {
140+ assertThat (scalar .min (scalar )).isEqualTo (scalar );
141+ }
142+
143+ @ Test
144+ public void minimumWithLargerScalarReturnsTheScalar () {
145+ assertThat (scalar .min (scalar .plus (1 ))).isEqualTo (scalar );
146+ }
147+
148+ @ Test
149+ public void maximumWithSmallerScalarReturnsTheScalar () {
150+ assertThat (scalar .max (scalar .minus (1 ))).isEqualTo (scalar );
151+ }
152+
153+ @ Test
154+ public void maximumWithEqualScalarReturnsTheScalar () {
155+ assertThat (scalar .max (scalar )).isEqualTo (scalar );
156+ }
157+
158+ @ Test
159+ public void maximumWithLargerScalarReturnsTheLargerScalar () {
160+ assertThat (scalar .max (scalar .plus (1 ))).isEqualTo (scalar .plus (1 ));
161+ }
162+
163+ @ Test
164+ public void satisfies () {
135165 TestContext context = new TestContext ();
136166 Direction direction = Direction .RIGHT ;
137167 assertThat (scalar .satisfies (Condition .greaterOrEqualTo (value ), context , direction )).isTrue ();
138168 assertThat (scalar .satisfies (Condition .greaterOrEqualTo (value +1 ), context , direction )).isFalse ();
139169 }
140170}
171+
You can’t perform that action at this time.
0 commit comments