Compare commits

..

2 Commits

Author SHA1 Message Date
2d78cb2481 Fix Direction Unit test 2025-06-03 17:47:49 +02:00
33e3949af6 Fixed issues from latest commits 2025-06-03 17:37:45 +02:00
3 changed files with 37 additions and 12 deletions

View File

@ -24,15 +24,11 @@ namespace LinearAlgebra {
horizontal = 0;
vertical = 0;
}
// public Direction(Angle horizontal, Angle vertical) {
// this.horizontal = horizontal.inDegrees;
// }
// public Direction(float horizontal, float vertical) {
// this.horizontal = horizontal;
// this.vertical = vertical;
// //Normalize();
// }
public Direction(Angle horizontal, Angle vertical) {
this.horizontal = horizontal.inDegrees;
this.vertical = vertical.inDegrees;
this.Normalize();
}
public static Direction Degrees(float horizontal, float vertical) {
Direction d = new() {
@ -82,6 +78,33 @@ namespace LinearAlgebra {
Vector3Float v = new(x, y, z);
return v;
}
public static bool operator ==(Direction d1, Direction d2) {
bool horizontalEq = d1.horizontal == d2.horizontal;
bool verticalEq = d1.vertical == d2.vertical;
return horizontalEq && verticalEq;
}
public static bool operator !=(Direction d1, Direction d2) {
bool horizontalNEq = d1.horizontal != d2.horizontal;
bool verticalNEq = d1.vertical != d2.vertical;
return horizontalNEq || verticalNEq;
}
public override bool Equals(object obj) {
if (obj is not Direction d)
return false;
bool horizontalEq = this.horizontal == d.horizontal;
bool verticalEq = this.vertical == d.vertical;
return horizontalEq && verticalEq;
}
public override int GetHashCode() {
return (this.horizontal, this.vertical).GetHashCode();
}
}
}

View File

@ -9,10 +9,12 @@ namespace LinearAlgebra.Test {
[Test]
public void Compare() {
Direction d = Direction.Degrees(45, 135);
Direction d1 = Direction.Degrees(45, 135);
Direction d2 = new(Angle.Degrees(45), Angle.Degrees(135));
bool r;
r = d == new Direction(Angle.Degrees(45), Angle.Degrees(135));
r = d1 == d2;
Assert.True(r);
Assert.AreEqual(d1, d2);
}
};
}

View File

@ -70,7 +70,7 @@ namespace RoboidControl {
touchUpdated = false;
return bytes;
#else
return 0;
return Array.Empty<byte>();
#endif
}