[commands] Add test for subsystem registration and periodic (#5408)

This commit is contained in:
Ryan Blue
2023-06-20 23:29:59 -04:00
committed by GitHub
parent 5d3a133f9f
commit ebae341a91
3 changed files with 56 additions and 4 deletions

View File

@@ -43,13 +43,41 @@ class SchedulerTest extends CommandTestBase {
}
}
@Test
void registerSubsystemTest() {
try (CommandScheduler scheduler = new CommandScheduler()) {
AtomicInteger counter = new AtomicInteger(0);
Subsystem system =
new SubsystemBase() {
@Override
public void periodic() {
counter.incrementAndGet();
}
};
assertDoesNotThrow(() -> scheduler.registerSubsystem(system));
scheduler.run();
assertEquals(1, counter.get());
}
}
@Test
void unregisterSubsystemTest() {
try (CommandScheduler scheduler = new CommandScheduler()) {
Subsystem system = new SubsystemBase() {};
AtomicInteger counter = new AtomicInteger(0);
Subsystem system =
new SubsystemBase() {
@Override
public void periodic() {
counter.incrementAndGet();
}
};
scheduler.registerSubsystem(system);
assertDoesNotThrow(() -> scheduler.unregisterSubsystem(system));
scheduler.run();
assertEquals(0, counter.get());
}
}