50 lines
1.5 KiB
Java
50 lines
1.5 KiB
Java
package fabrik.simulator.pic16f84;
|
|
|
|
import fabrik.simulator.pic16f84.interfaces.*;
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.DisplayName;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.mockito.Mockito.mock;
|
|
import static org.mockito.Mockito.when;
|
|
|
|
class WatchDogTimerTests {
|
|
private PICComponentLocator picComponents;
|
|
|
|
@BeforeEach
|
|
void resetComponents() {
|
|
picComponents = new PICComponentLocator();
|
|
}
|
|
|
|
@Test
|
|
@DisplayName("WatchDogTimer testet ob er triggern soll, triggert korrekt nicht")
|
|
void watchDogIncrementWithoutTriggering() {
|
|
PreScalerInterface mockPreScaler = mock(PreScalerInterface.class);
|
|
when(
|
|
mockPreScaler.isPrescalerOnTimer()
|
|
).thenReturn(
|
|
true
|
|
);
|
|
picComponents.registerComponent(PreScalerInterface.class, mockPreScaler);
|
|
|
|
|
|
ExecutionTimeSubject mockExecutionTime = mock(ExecutionTimeSubject.class);
|
|
when(
|
|
mockExecutionTime.getExecutionTimeMultiplier()
|
|
).thenReturn(
|
|
1.0
|
|
);
|
|
picComponents.registerComponent(ExecutionTimeSubject.class, mockExecutionTime);
|
|
|
|
WatchdogTimerInterface watchDogTimer = new WatchdogTimer();
|
|
picComponents.registerComponent(WatchdogTimerInterface.class, watchDogTimer);
|
|
picComponents.initAll();
|
|
|
|
watchDogTimer.enable();
|
|
watchDogTimer.testAndTrigger();
|
|
|
|
|
|
assertEquals(1, watchDogTimer.get());
|
|
}
|
|
} |