can-log-tools/src/test/java/com/rusefi/can/analysis/CounterScannerTest.java

56 lines
1.5 KiB
Java
Raw Normal View History

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
}
}