2022-11-12 20:00:51 -08:00
|
|
|
package com.rusefi.can.analysis;
|
|
|
|
|
|
|
|
import org.junit.Test;
|
|
|
|
|
2022-11-12 20:34:27 -08:00
|
|
|
import static org.junit.Assert.*;
|
2022-11-12 20:00:51 -08:00
|
|
|
|
|
|
|
public class CounterScannerTest {
|
|
|
|
@Test
|
|
|
|
public void testNotCounter() {
|
|
|
|
CounterScanner.BitState state = new CounterScanner.BitState();
|
|
|
|
state.handle(true);
|
2022-11-12 20:34:27 -08:00
|
|
|
assertEquals(state.state, CounterScanner.BitState.StateMachine.LOOKING_FOR_FIRST_SWITCHOVER);
|
|
|
|
|
2022-11-12 20:00:51 -08:00
|
|
|
state.handle(false);
|
2022-11-12 20:34:27 -08:00
|
|
|
assertEquals(state.state, CounterScanner.BitState.StateMachine.FOUND_FIRST_SWITCHOVER);
|
|
|
|
|
2022-11-12 20:00:51 -08:00
|
|
|
state.handle(false);
|
2022-11-12 20:34:27 -08:00
|
|
|
assertEquals(CounterScanner.BitState.StateMachine.FOUND_FIRST_SWITCHOVER, state.state);
|
|
|
|
|
2022-11-12 20:00:51 -08:00
|
|
|
state.handle(true);
|
2022-11-12 20:34:27 -08:00
|
|
|
assertEquals(CounterScanner.BitState.StateMachine.HAPPY_COUNTER, state.state);
|
|
|
|
|
2022-11-12 20:00:51 -08:00
|
|
|
state.handle(false);
|
|
|
|
state.handle(false);
|
|
|
|
|
2022-11-12 20:34:27 -08:00
|
|
|
assertFalse(state.couldBeCounter());
|
2022-11-12 20:05:32 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testCounterLen1() {
|
|
|
|
CounterScanner.BitState state = new CounterScanner.BitState();
|
|
|
|
state.handle(true);
|
|
|
|
state.handle(false);
|
|
|
|
state.handle(true);
|
|
|
|
state.handle(false);
|
2022-11-12 20:00:51 -08:00
|
|
|
|
2022-11-12 20:34:27 -08:00
|
|
|
assertTrue(state.couldBeCounter());
|
|
|
|
assertEquals(1, state.cycleLength);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void testCounterLen2() {
|
|
|
|
CounterScanner.BitState state = new CounterScanner.BitState();
|
|
|
|
state.handle(true);
|
|
|
|
state.handle(false);
|
|
|
|
state.handle(false);
|
|
|
|
state.handle(true);
|
|
|
|
state.handle(true);
|
|
|
|
state.handle(false);
|
|
|
|
|
|
|
|
assertTrue(state.couldBeCounter());
|
|
|
|
assertEquals(2, state.cycleLength);
|
2022-11-12 20:00:51 -08:00
|
|
|
}
|
|
|
|
}
|