Search code examples
javacucumbercucumber-jvmgherkin

Is it possible to get an array as a cell in cucumber parameters table?


What is the currect way to write it?

Scenario: Data tables
  Given I have the following order
    | vegetable |    array         | cost |
    | cucumber  |   1,2,3,4        |  10  |
    | carrot    |   empty array    |   6  |
    | potato    |   1,2,3          |   4  |

public class OrderItem {

    private String vegetable;
    private int[] array;
    private int cost;
}

@Given("^I have another order$")
public void i_have_another_order(List<OrderItem> list) throws Throwable {
    for (OrderItem orderItem : list) {
        // do something with my OrderItem..
    }
}

Solution

  • This is working fine. I have checked it. The code is

    public class OrderItem {
    
    private String vegetable;
    private int[] array;
    private int cost;
    
    public void set(String veg,int[] arr,int cos){
        this.vegetable=veg;
        this.array=arr;
        this.cost=cos;
    }
    
    public String getVeg(){
        return this.vegetable;
    }
    

    }

    @Given("^I have the following order$")
    public void i_have_another_order(List<OrderItem> list) throws Throwable {
        for (OrderItem orderItem : list) {
            // do something with my OrderItem..
            System.out.println(orderItem.getVeg());
        }
    }