22
33import com .github .protocolfuzzing .protocolstatefuzzer .components .learner .alphabet .AlphabetBuilder ;
44import com .github .protocolfuzzing .protocolstatefuzzer .components .learner .alphabet .AlphabetBuilderTransformer ;
5- import com .github .protocolfuzzing .protocolstatefuzzer .components .learner .oracles .MembershipOracleWrapper ;
5+ import com .github .protocolfuzzing .protocolstatefuzzer .components .learner .oracles .MembershipOracleWrapperRA ;
66import com .github .protocolfuzzing .protocolstatefuzzer .components .sul .core .AbstractSul ;
77import com .github .protocolfuzzing .protocolstatefuzzer .components .sul .core .SulBuilder ;
88import com .github .protocolfuzzing .protocolstatefuzzer .components .sul .core .SulWrapper ;
2828import java .io .IOException ;
2929import java .util .ArrayList ;
3030import java .util .Arrays ;
31- import java .util .Iterator ;
3231import java .util .List ;
33- import java .util .stream .Stream ;
3432/**
3533 * The standard implementation of the TestRunner Interface.
3634 *
@@ -203,31 +201,19 @@ protected List<TestRunnerResult<Word<PSymbolInstance>, Word<PSymbolInstance>>> r
203201 );
204202 }
205203
206- // net.automatalib.word.WordCollector<I> exists but is not explicitly marked pulic .
204+ // net.automatalib.word.WordCollector<I> exists but is not explicitly marked public .
207205 // This is most likely unintended since it is a wrapper around WordBuilder which is public.
208206 // Using that would allow us to skip using WordBuilder directly.
209207 // TODO: Open an issue or otherwise notify about this.
210- LOGGER .debug ("Read mealy tests: {}" , tests );
211- WordBuilder <PSymbolInstance > wordBuilder = new WordBuilder <>();
212208 List <Word <PSymbolInstance >> convertedTests = new ArrayList <>(tests .size ());
213- PSymbolInstance placeholderElement = new PSymbolInstance (new OutputSymbol ("PLACEHOLDER ELEMENT" ));
214- Iterator <PSymbolInstance > placeholders = Stream .iterate (placeholderElement , i -> placeholderElement ).iterator ();
215209 for (Word <I > test : tests ) {
216- List <PSymbolInstance > wordList = test .stream ()
217- .map (inputTransformer ::toTransformedInput )
218- .map (p -> new PSymbolInstance (p ))
219- .flatMap (x -> Stream .of (x , placeholders .next ()))
220- .toList ();
221- Word <PSymbolInstance > pWord = wordBuilder .append (wordList ).toWord ();
222- convertedTests .add (pWord );
223- wordBuilder .clear ();
210+ WordBuilder <PSymbolInstance > wordBuilder = new WordBuilder <>();
211+ for (I input : test ) {
212+ wordBuilder .append (new PSymbolInstance (inputTransformer .toTransformedInput (input )));
213+ }
214+ convertedTests .add (wordBuilder .toWord ());
224215 }
225- LOGGER .debug ("Converted tests: {}" , convertedTests );
226-
227-
228- List <
229- TestRunnerResult <Word <PSymbolInstance >, Word <PSymbolInstance >>
230- > results = new ArrayList <>();
216+ List <TestRunnerResult <Word <PSymbolInstance >, Word <PSymbolInstance >>> results = new ArrayList <>();
231217 for (Word <PSymbolInstance > test : convertedTests ) {
232218 results .add (runTest (test ));
233219 }
@@ -248,7 +234,7 @@ > runTest(Word<PSymbolInstance> test) {
248234 TestRunner .runTest (
249235 test ,
250236 testRunnerEnabler .getTestRunnerConfig ().getTimes (),
251- new MembershipOracleWrapper (sulOracle )
237+ new MembershipOracleWrapperRA (sulOracle )
252238 );
253239 return result ;
254240 }
0 commit comments