better API

This commit is contained in:
rusefillc 2022-04-15 13:53:50 -04:00
parent 19aec9129b
commit b2925f292a
6 changed files with 27 additions and 27 deletions

View File

@ -167,8 +167,8 @@ public class ReaderState {
consumer.handleEndStruct(this, structure); consumer.handleEndStruct(this, structure);
} }
public void readBufferedReader(String inputString, List<ConfigurationConsumer> consumers) throws IOException { public void readBufferedReader(String inputString, ConfigurationConsumer... consumers) throws IOException {
readBufferedReader(new BufferedReader(new StringReader(inputString)), consumers); readBufferedReader(new BufferedReader(new StringReader(inputString)), Arrays.asList(consumers));
} }
public void readBufferedReader(BufferedReader definitionReader, List<ConfigurationConsumer> consumers) throws IOException { public void readBufferedReader(BufferedReader definitionReader, List<ConfigurationConsumer> consumers) throws IOException {

View File

@ -31,7 +31,7 @@ public class BitParsingTest {
} }
}; };
state.headerMessage = "test"; state.headerMessage = "test";
state.readBufferedReader(inputString, Collections.singletonList(javaFieldsConsumer)); state.readBufferedReader(inputString, javaFieldsConsumer);
System.out.printf("start[" + sw + "]end"); System.out.printf("start[" + sw + "]end");

View File

@ -23,7 +23,7 @@ public class ConfigFieldParserIssue1057Test {
"end_struct\n"; "end_struct\n";
state.readBufferedReader(inputString, Collections.singletonList(javaFieldsConsumer)); state.readBufferedReader(inputString, javaFieldsConsumer);
assertEquals("\tpublic static final Field ACTIVATEAUXPID1 = Field.create(\"ACTIVATEAUXPID1\", 0, FieldType.BIT, 0);\n" + assertEquals("\tpublic static final Field ACTIVATEAUXPID1 = Field.create(\"ACTIVATEAUXPID1\", 0, FieldType.BIT, 0);\n" +
"\tpublic static final Field UNUSEDBIT_1_1 = Field.create(\"UNUSEDBIT_1_1\", 0, FieldType.BIT, 1);\n" + "\tpublic static final Field UNUSEDBIT_1_1 = Field.create(\"UNUSEDBIT_1_1\", 0, FieldType.BIT, 1);\n" +

View File

@ -60,7 +60,7 @@ public class ConfigFieldParserTest {
CharArrayWriter writer = new CharArrayWriter(); CharArrayWriter writer = new CharArrayWriter();
TestTSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer(writer, "", state); TestTSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer(writer, "", state);
state.readBufferedReader(test, Collections.singletonList(tsProjectConsumer)); state.readBufferedReader(test, tsProjectConsumer);
assertEquals("afr_type = scalar, F32, 0, \"ms\", 1, 0, 0, 3000, 0\n" + assertEquals("afr_type = scalar, F32, 0, \"ms\", 1, 0, 0, 3000, 0\n" +
"afr_typet = scalar, F32, 4, \"ms\", 1, 0, 0, 3000, 0\n" + "afr_typet = scalar, F32, 4, \"ms\", 1, 0, 0, 3000, 0\n" +
"; total TS size = 8\n", new String(writer.toCharArray())); "; total TS size = 8\n", new String(writer.toCharArray()));
@ -76,7 +76,7 @@ public class ConfigFieldParserTest {
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
BaseCHeaderConsumer consumer = new BaseCHeaderConsumer(); BaseCHeaderConsumer consumer = new BaseCHeaderConsumer();
state.readBufferedReader(test, Collections.singletonList(consumer)); state.readBufferedReader(test, (consumer));
} }
@Test @Test
@ -91,7 +91,7 @@ public class ConfigFieldParserTest {
CharArrayWriter writer = new CharArrayWriter(); CharArrayWriter writer = new CharArrayWriter();
TestTSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer(writer, "", state); TestTSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer(writer, "", state);
state.readBufferedReader(test, Collections.singletonList(tsProjectConsumer)); state.readBufferedReader(test, (tsProjectConsumer));
assertEquals("afr_type = bits, S32, 0, [0:1], \"BPSX\", \"Innovate\", \"14Point7\", \"INVALID\"\n" + assertEquals("afr_type = bits, S32, 0, [0:1], \"BPSX\", \"Innovate\", \"14Point7\", \"INVALID\"\n" +
"; total TS size = 4\n", new String(writer.toCharArray())); "; total TS size = 4\n", new String(writer.toCharArray()));
} }
@ -108,7 +108,7 @@ public class ConfigFieldParserTest {
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state); JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state);
state.readBufferedReader(test, Collections.singletonList(javaFieldsConsumer)); state.readBufferedReader(test, (javaFieldsConsumer));
assertEquals(16, TypesHelper.getElementSize(state, "pid_s")); assertEquals(16, TypesHelper.getElementSize(state, "pid_s"));
@ -123,7 +123,7 @@ public class ConfigFieldParserTest {
"#define ERROR_BUFFER_SIZE \"***\"\n" + "#define ERROR_BUFFER_SIZE \"***\"\n" +
"end_struct\n" + "end_struct\n" +
""; "";
new ReaderState().readBufferedReader(test, Collections.emptyList()); new ReaderState().readBufferedReader(test);
} }
@Test(expected = IllegalStateException.class) @Test(expected = IllegalStateException.class)
@ -132,7 +132,7 @@ public class ConfigFieldParserTest {
VariableRegistry.DEFINE + " show show_Hellen121vag_presets true\n" + VariableRegistry.DEFINE + " show show_Hellen121vag_presets true\n" +
"end_struct\n" + "end_struct\n" +
""; "";
new ReaderState().readBufferedReader(test, Collections.emptyList()); new ReaderState().readBufferedReader(test);
} }
@Test @Test
@ -146,7 +146,7 @@ public class ConfigFieldParserTest {
""; "";
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
state.readBufferedReader(test, Collections.emptyList()); state.readBufferedReader(test);
assertEquals("#define ERROR_BUFFER_COUNT 120\n" + assertEquals("#define ERROR_BUFFER_COUNT 120\n" +
"#define ERROR_BUFFER_SIZE 120\n" + "#define ERROR_BUFFER_SIZE 120\n" +
@ -166,7 +166,7 @@ public class ConfigFieldParserTest {
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
TSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer(writer, "", state); TSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer(writer, "", state);
state.readBufferedReader(test, Collections.singletonList(tsProjectConsumer)); state.readBufferedReader(test, (tsProjectConsumer));
assertEquals("periodMs = scalar, S16, 0, \"ms\", 0.1, 0, 0, 3000, 0\n" + assertEquals("periodMs = scalar, S16, 0, \"ms\", 0.1, 0, 0, 3000, 0\n" +
"periodMs2 = scalar, S16, 2, \"ms\", 1, 0, 0, 3000, 0\n" + "periodMs2 = scalar, S16, 2, \"ms\", 1, 0, 0, 3000, 0\n" +
@ -186,7 +186,7 @@ public class ConfigFieldParserTest {
""; "";
JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state); JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state);
state.readBufferedReader(test, Collections.singletonList(javaFieldsConsumer)); state.readBufferedReader(test, javaFieldsConsumer);
assertEquals("\tpublic static final Field VAR = Field.create(\"VAR\", 0, 120, FieldType.STRING).setScale(1.0);\n" + assertEquals("\tpublic static final Field VAR = Field.create(\"VAR\", 0, 120, FieldType.STRING).setScale(1.0);\n" +
"\tpublic static final Field PERIODMS = Field.create(\"PERIODMS\", 120, FieldType.INT16).setScale(1.0);\n" + "\tpublic static final Field PERIODMS = Field.create(\"PERIODMS\", 120, FieldType.INT16).setScale(1.0);\n" +
@ -202,7 +202,7 @@ public class ConfigFieldParserTest {
""; "";
JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state); JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state);
state.readBufferedReader(test, Collections.singletonList(javaFieldsConsumer)); state.readBufferedReader(test, javaFieldsConsumer);
assertEquals("\tpublic static final char SD_r = 'r';\n" + assertEquals("\tpublic static final char SD_r = 'r';\n" +
"", "",
@ -218,7 +218,7 @@ public class ConfigFieldParserTest {
""; "";
JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state); JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state);
state.readBufferedReader(test, Collections.singletonList(javaFieldsConsumer)); state.readBufferedReader(test, (javaFieldsConsumer));
assertEquals("\tpublic static final int ERROR_BUFFER_SIZE = 120;\n" + assertEquals("\tpublic static final int ERROR_BUFFER_SIZE = 120;\n" +
"\tpublic static final int ERROR_BUFFER_SIZE_H = 0x120;\n" + "\tpublic static final int ERROR_BUFFER_SIZE_H = 0x120;\n" +
@ -253,7 +253,7 @@ public class ConfigFieldParserTest {
JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state); JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state);
state.readBufferedReader(test, Collections.singletonList(javaFieldsConsumer)); state.readBufferedReader(test, (javaFieldsConsumer));
assertEquals("\tpublic static final Field OFFSET = Field.create(\"OFFSET\", 0, FieldType.INT16).setScale(1.0);\n" + assertEquals("\tpublic static final Field OFFSET = Field.create(\"OFFSET\", 0, FieldType.INT16).setScale(1.0);\n" +
@ -286,7 +286,7 @@ public class ConfigFieldParserTest {
BaseCHeaderConsumer consumer = new BaseCHeaderConsumer(); BaseCHeaderConsumer consumer = new BaseCHeaderConsumer();
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state); JavaFieldsConsumer javaFieldsConsumer = new TestJavaFieldsConsumer(state);
state.readBufferedReader(test, Arrays.asList(consumer, javaFieldsConsumer)); state.readBufferedReader(test, consumer, javaFieldsConsumer);
assertEquals("\tpublic static final Field FIELD1 = Field.create(\"FIELD1\", 0, FieldType.INT).setScale(0.01);\n", assertEquals("\tpublic static final Field FIELD1 = Field.create(\"FIELD1\", 0, FieldType.INT).setScale(0.01);\n",
javaFieldsConsumer.getJavaFieldsWriter()); javaFieldsConsumer.getJavaFieldsWriter());
assertEquals("// start of pid_s\n" + assertEquals("// start of pid_s\n" +
@ -378,7 +378,7 @@ public class ConfigFieldParserTest {
CharArrayWriter writer = new CharArrayWriter(); CharArrayWriter writer = new CharArrayWriter();
TestTSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer(writer, "", state); TestTSProjectConsumer tsProjectConsumer = new TestTSProjectConsumer(writer, "", state);
state.readBufferedReader(test, Collections.singletonList(tsProjectConsumer)); state.readBufferedReader(test, (tsProjectConsumer));
assertEquals("pid_afr_type = scalar, F32, 0, \"ms\", 1, 0, 0, 3000, 0\n" + assertEquals("pid_afr_type = scalar, F32, 0, \"ms\", 1, 0, 0, 3000, 0\n" +
"pid_afr_typet = scalar, F32, 4, \"ms\", 1, 0, 0, 3000, 0\n" + "pid_afr_typet = scalar, F32, 4, \"ms\", 1, 0, 0, 3000, 0\n" +
"pid_isForcedInduction = bits, U32, 8, [0:0], \"false\", \"true\"\n" + "pid_isForcedInduction = bits, U32, 8, [0:0], \"false\", \"true\"\n" +

View File

@ -23,7 +23,7 @@ public class OutputsTest {
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
OutputsSectionConsumer tsProjectConsumer = new OutputsSectionConsumer(null, state); OutputsSectionConsumer tsProjectConsumer = new OutputsSectionConsumer(null, state);
state.readBufferedReader(test, Collections.singletonList(tsProjectConsumer)); state.readBufferedReader(test, tsProjectConsumer);
assertEquals("afr_type = scalar, F32, 0, \"ms\", 1, 0\n" + assertEquals("afr_type = scalar, F32, 0, \"ms\", 1, 0\n" +
@ -75,7 +75,7 @@ public class OutputsTest {
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
OutputsSectionConsumer tsProjectConsumer = new OutputsSectionConsumer(null, state); OutputsSectionConsumer tsProjectConsumer = new OutputsSectionConsumer(null, state);
state.readBufferedReader(test, Collections.singletonList(tsProjectConsumer)); state.readBufferedReader(test, (tsProjectConsumer));
} }
@Test @Test
@ -97,7 +97,7 @@ public class OutputsTest {
state.variableRegistry.register("GAUGE_NAME_FUEL_BASE", "hello"); state.variableRegistry.register("GAUGE_NAME_FUEL_BASE", "hello");
DataLogConsumer dataLogConsumer = new DataLogConsumer(null); DataLogConsumer dataLogConsumer = new DataLogConsumer(null);
state.readBufferedReader(test, Collections.singletonList(dataLogConsumer)); state.readBufferedReader(test, (dataLogConsumer));
assertEquals( assertEquals(
"entry = issue_294_31, \"issue_294_31\", int, \"%d\"\n" + "entry = issue_294_31, \"issue_294_31\", int, \"%d\"\n" +
"entry = knock1, \"knock1\", int, \"%d\"\n" + "entry = knock1, \"knock1\", int, \"%d\"\n" +
@ -122,7 +122,7 @@ public class OutputsTest {
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
GetOutputValueConsumer outputValueConsumer = new GetOutputValueConsumer(null); GetOutputValueConsumer outputValueConsumer = new GetOutputValueConsumer(null);
state.readBufferedReader(test, Collections.singletonList(outputValueConsumer)); state.readBufferedReader(test, (outputValueConsumer));
assertEquals( assertEquals(
"#include \"pch.h\"\n" + "#include \"pch.h\"\n" +
"float getOutputValueByName(const char *name) {\n" + "float getOutputValueByName(const char *name) {\n" +
@ -148,7 +148,7 @@ public class OutputsTest {
"\tdc_io[2 iterate] etbIn\n" + "\tdc_io[2 iterate] etbIn\n" +
"end_struct\n"; "end_struct\n";
GetConfigValueConsumer getConfigValueConsumer = new GetConfigValueConsumer(null); GetConfigValueConsumer getConfigValueConsumer = new GetConfigValueConsumer(null);
state.readBufferedReader(test, Collections.singletonList(getConfigValueConsumer)); state.readBufferedReader(test, (getConfigValueConsumer));
assertEquals("#include \"pch.h\"\n" + assertEquals("#include \"pch.h\"\n" +
"float getConfigValueByName(const char *name) {\n" + "float getConfigValueByName(const char *name) {\n" +
@ -171,7 +171,7 @@ public class OutputsTest {
"ThermistorConf iat;\n" + "ThermistorConf iat;\n" +
"end_struct\n"; "end_struct\n";
GetConfigValueConsumer getConfigValueConsumer = new GetConfigValueConsumer(null); GetConfigValueConsumer getConfigValueConsumer = new GetConfigValueConsumer(null);
state.readBufferedReader(test, Collections.singletonList(getConfigValueConsumer)); state.readBufferedReader(test, (getConfigValueConsumer));
assertEquals("\tif (strEqualCaseInsensitive(name, \"iat.config.tempC_1\"))\n" + assertEquals("\tif (strEqualCaseInsensitive(name, \"iat.config.tempC_1\"))\n" +
"\t{\n" + "\t{\n" +
@ -247,7 +247,7 @@ public class OutputsTest {
GetConfigValueConsumer getConfigValueConsumer = new GetConfigValueConsumer(null); GetConfigValueConsumer getConfigValueConsumer = new GetConfigValueConsumer(null);
state.readBufferedReader(test, Collections.singletonList(getConfigValueConsumer)); state.readBufferedReader(test, (getConfigValueConsumer));
assertEquals("#include \"pch.h\"\n" + assertEquals("#include \"pch.h\"\n" +
"float getConfigValueByName(const char *name) {\n" + "float getConfigValueByName(const char *name) {\n" +
@ -298,7 +298,7 @@ public class OutputsTest {
ReaderState state = new ReaderState(); ReaderState state = new ReaderState();
DataLogConsumer dataLogConsumer = new DataLogConsumer(null); DataLogConsumer dataLogConsumer = new DataLogConsumer(null);
GaugeConsumer gaugeConsumer = new GaugeConsumer(null, state); GaugeConsumer gaugeConsumer = new GaugeConsumer(null, state);
state.readBufferedReader(test, Arrays.asList(dataLogConsumer, gaugeConsumer)); state.readBufferedReader(test, dataLogConsumer, gaugeConsumer);
assertEquals( assertEquals(
"entry = alternatorStatus_iTerm, \"alternatorStatus_iTerm\", float, \"%.3f\"\n" + "entry = alternatorStatus_iTerm, \"alternatorStatus_iTerm\", float, \"%.3f\"\n" +
"entry = alternatorStatus_dTerm, \"alternatorStatus_dTerm\", float, \"%.3f\"\n" + "entry = alternatorStatus_dTerm, \"alternatorStatus_dTerm\", float, \"%.3f\"\n" +

View File

@ -49,7 +49,7 @@ public class TSProjectConsumerTest {
BaseCHeaderConsumer consumer = new BaseCHeaderConsumer(); BaseCHeaderConsumer consumer = new BaseCHeaderConsumer();
state.readBufferedReader(test, Arrays.asList(javaFieldsConsumer, consumer, tsProjectConsumer)); state.readBufferedReader(test, javaFieldsConsumer, consumer, tsProjectConsumer);
assertEquals("#if LAMBDA\n" + assertEquals("#if LAMBDA\n" +
"periodMs2 = scalar, S16, 0, \"ms\", 1, 0, 0, 3000, 0\n" + "periodMs2 = scalar, S16, 0, \"ms\", 1, 0, 0, 3000, 0\n" +