mirror of https://github.com/rusefi/rusefi.git
54 lines
1.5 KiB
Java
54 lines
1.5 KiB
Java
package com.rusefi.test;
|
|
|
|
import com.rusefi.ReaderStateImpl;
|
|
import com.rusefi.TsFileContent;
|
|
import com.rusefi.output.TSProjectConsumer;
|
|
import com.rusefi.util.Output;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import java.io.*;
|
|
|
|
import static com.rusefi.AssertCompatibility.assertTrue;
|
|
|
|
public class BitParsingTest {
|
|
@Test
|
|
public void testBitParser() {
|
|
ReaderStateImpl state = new ReaderStateImpl();
|
|
|
|
String inputString = "struct pid_s\n" +
|
|
ReaderStateImpl.BIT + " fieldName\n" +
|
|
ReaderStateImpl.BIT + " fieldName2,\"si\",\"nada\";comment\n" +
|
|
"end_struct\n";
|
|
|
|
StringWriter sw = new StringWriter();
|
|
|
|
TSProjectConsumer javaFieldsConsumer = new TSProjectConsumer("", state) {
|
|
@Override
|
|
protected void writeTunerStudioFile(String inputFile, String fieldsSection) throws IOException {
|
|
writeContent(fieldsSection, new TsFileContent("", ""), createOutput(sw));
|
|
}
|
|
};
|
|
state.setHeaderMessage("test");
|
|
state.readBufferedReader(inputString, javaFieldsConsumer);
|
|
|
|
System.out.printf("start[" + sw + "]end");
|
|
|
|
assertTrue(sw.toString().contains("\"false\", \"true\""));
|
|
assertTrue(sw.toString().contains("\"nada\", \"si\""));
|
|
}
|
|
|
|
private Output createOutput(StringWriter sw) {
|
|
return new Output() {
|
|
@Override
|
|
public void write(String line) {
|
|
sw.write(line);
|
|
}
|
|
|
|
@Override
|
|
public void close() {
|
|
|
|
}
|
|
};
|
|
}
|
|
}
|