[wpilib] DutyCycleEncoderSim: Expand API (#5443)

This commit is contained in:
Gold856
2023-07-19 20:24:09 -04:00
committed by GitHub
parent 657338715d
commit 72a4543493
7 changed files with 257 additions and 3 deletions

View File

@@ -5,6 +5,8 @@
package edu.wpi.first.wpilibj.simulation;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import edu.wpi.first.hal.HAL;
import edu.wpi.first.wpilibj.DutyCycleEncoder;
@@ -32,4 +34,56 @@ class DutyCycleEncoderSimTest {
assertEquals(19.1, encoder.getDistance());
}
}
@Test
void setDistancePerRotationTest() {
HAL.initialize(500, 0);
try (DutyCycleEncoder encoder = new DutyCycleEncoder(0)) {
DutyCycleEncoderSim sim = new DutyCycleEncoderSim(encoder);
sim.set(1.5);
encoder.setDistancePerRotation(42);
assertEquals(63.0, encoder.getDistance());
}
}
@Test
void setAbsolutePositionTest() {
HAL.initialize(500, 0);
try (DutyCycleEncoder encoder = new DutyCycleEncoder(0)) {
DutyCycleEncoderSim sim = new DutyCycleEncoderSim(encoder);
sim.setAbsolutePosition(0.75);
assertEquals(0.75, encoder.getAbsolutePosition());
}
}
@Test
void setIsConnectedTest() {
HAL.initialize(500, 0);
try (DutyCycleEncoder encoder = new DutyCycleEncoder(0)) {
DutyCycleEncoderSim sim = new DutyCycleEncoderSim(encoder);
sim.setConnected(true);
assertTrue(encoder.isConnected());
sim.setConnected(false);
assertFalse(encoder.isConnected());
}
}
@Test
void resetTest() {
HAL.initialize(500, 0);
try (DutyCycleEncoder encoder = new DutyCycleEncoder(0)) {
DutyCycleEncoderSim sim = new DutyCycleEncoderSim(encoder);
sim.setDistance(2.5);
assertEquals(2.5, encoder.getDistance());
encoder.reset();
assertEquals(0.0, encoder.getDistance());
}
}
}