@Override public DRes<SBool> equal(List<DRes<SBool>> inLeft, List<DRes<SBool>> inRight) { this.eqCount++; return this.delegate.equal(inLeft, inRight); }
@Override public void test() throws Exception { Boolean[] comp1 = new Boolean[] {false, true, false, true, false}; Boolean[] comp2 = new Boolean[] {false, true, true, true, false}; Application<List<Boolean>, ProtocolBuilderBinary> app = producer -> producer.seq(seq -> { List<DRes<SBool>> in1 = BooleanHelper.known(comp1, seq.binary()); List<DRes<SBool>> in2 = BooleanHelper.known(comp2, seq.binary()); DRes<SBool> res1 = seq.comparison().equal(in1, in2); DRes<SBool> res2 = seq.comparison().equal(in1, in1); DRes<Boolean> open1 = seq.binary().open(res1); DRes<Boolean> open2 = seq.binary().open(res2); return () -> Arrays.asList(open1, open2); }).seq( (seq, opened) -> () -> opened.stream().map(DRes::out).collect(Collectors.toList())); List<Boolean> res = runApplication(app); if (doAsserts) { Assert.assertEquals(false, res.get(0)); Assert.assertEquals(true, res.get(1)); } } };