2016-08-01 2 views

ответ

0

Недостающие поля игнорируются при сравнении DataTable со списком объектов, например .:

static class SomeBean { 
    String field1; 
    String field2; 
    String field3; 

    public SomeBean(String field1, String field2, String field3) { 
     this.field1 = field1; 
     this.field2 = field2; 
     this.field3 = field3; 
    } 
} 

    DataTable expectationBeanTable = DataTable.create(Arrays.asList(
      new SomeBean("value1", "value2", null) 
    )); 

    List<SomeBean> actual = Arrays.asList(
      new SomeBean("value1", "value2", "value3") 
    ); 
    expectationBeanTable.diff(actual); //OK 

    DataTable expectationStringTable = DataTable.create(Arrays.asList(
      Arrays.asList("field1", "field2"), 
      Arrays.asList("value1", "value2") 
    )); 

    expectationStringTable.diff(actual); //Also OK 

не будет работать при сравнении двух DataTables хотя:

expectationStringTable.diff(DataTable.create(actual)); 

java.lang.IllegalArgumentException: Tables must have equal number of columns: 
     | field1 | field2 | 
     | value1 | value2 | 

     | field1 | field2 | field3 | 
     | value1 | value2 | value3 | 
Смежные вопросы