package io.github.sskorol.testcases; import io.github.sskorol.core.DataSupplier; import io.github.sskorol.datasuppliers.ExternalDataSuppliers; import io.github.sskorol.entities.User; import io.vavr.Tuple; import one.util.streamex.EntryStream; import one.util.streamex.StreamEx; import org.testng.annotations.Test; import static java.util.Arrays.asList; public class TupleDataSupplierTests { @DataSupplier public Tuple getCommonTupleData() { return Tuple.of("data1", "data2"); } @DataSupplier(transpose = true) public Tuple extractCommonTupleData() { return Tuple.of(1, new User("name", "password")); } @DataSupplier(flatMap = true) public StreamEx getInternallyExtractedTupleData() { var list1 = asList("data1", "data2"); var list2 = asList("data3", "data4", "data5"); var minSize = Math.min(list1.size(), list2.size()); return EntryStream.of(list1) .limit(minSize) .mapKeyValue((i, val) -> Tuple.of(val, list2.get(i))); } @Test(dataProvider = "getCommonTupleData") public void supplyCommonTupleData(final String ob) { // not implemented } @Test(dataProvider = "extractCommonTupleData") public void supplyExtractedTupleData(final int ob, final User user) { // not implemented } @Test(dataProviderClass = ExternalDataSuppliers.class, dataProvider = "getExternalTupleData") public void supplyExternalTupleData(final String ob1, final int ob2, final double ob3) { // not implemented } @Test(dataProvider = "getInternallyExtractedTupleData") public void supplyInternallyExtractedTupleData(final String ob1, final String ob2) { // not implemented } }