mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-26 01:51:41 +00:00
[wpilib] Rewrite DutyCycleEncoder and AnalogEncoder (#6398)
This commit is contained in:
@@ -6,7 +6,6 @@ package edu.wpi.first.wpilibj.simulation;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
|
||||
import edu.wpi.first.math.geometry.Rotation2d;
|
||||
import edu.wpi.first.wpilibj.AnalogEncoder;
|
||||
import edu.wpi.first.wpilibj.AnalogInput;
|
||||
import org.junit.jupiter.api.Test;
|
||||
@@ -15,13 +14,12 @@ class AnalogEncoderSimTest {
|
||||
@Test
|
||||
void testBasic() {
|
||||
try (var analogInput = new AnalogInput(0);
|
||||
var analogEncoder = new AnalogEncoder(analogInput)) {
|
||||
var analogEncoder = new AnalogEncoder(analogInput, 360, 0)) {
|
||||
var encoderSim = new AnalogEncoderSim(analogEncoder);
|
||||
|
||||
encoderSim.setPosition(Rotation2d.kPi);
|
||||
assertEquals(analogEncoder.get(), 0.5, 1E-8);
|
||||
assertEquals(encoderSim.getTurns(), 0.5, 1E-8);
|
||||
assertEquals(encoderSim.getPosition().getRadians(), Math.PI, 1E-8);
|
||||
encoderSim.set(180);
|
||||
assertEquals(analogEncoder.get(), 180, 1E-8);
|
||||
assertEquals(encoderSim.get(), 180, 1E-8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import org.junit.jupiter.api.Test;
|
||||
class DutyCycleEncoderSimTest {
|
||||
@Test
|
||||
void setTest() {
|
||||
try (DutyCycleEncoder encoder = new DutyCycleEncoder(0)) {
|
||||
try (DutyCycleEncoder encoder = new DutyCycleEncoder(0, 5.67, 0)) {
|
||||
DutyCycleEncoderSim sim = new DutyCycleEncoderSim(encoder);
|
||||
|
||||
sim.set(5.67);
|
||||
@@ -23,42 +23,6 @@ class DutyCycleEncoderSimTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
void setDistanceTest() {
|
||||
HAL.initialize(500, 0);
|
||||
|
||||
try (DutyCycleEncoder encoder = new DutyCycleEncoder(0)) {
|
||||
DutyCycleEncoderSim sim = new DutyCycleEncoderSim(encoder);
|
||||
|
||||
sim.setDistance(19.1);
|
||||
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);
|
||||
@@ -72,18 +36,4 @@ class DutyCycleEncoderSimTest {
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user