The Compare List operator compares lists to expected values in nested tables.
when test is⇓
| story test fixture |  
| check | test result |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
 
 |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
  |  
  |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
 
 | then result is |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
  | 
An empty actual list matches an empty expected cell.
when test is⇓
| story test fixture |  
| check | test result |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  |  
 
 |  
 
 |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  System.Collections.ArrayList |  
 
 |  
  |  
  |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  |  
 
 |  
 
 | then result is |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  System.Collections.ArrayList |  
 
 |  
  | 
An empty actual list matches an empty nested table in an expected cell.
when test is⇓
| story test fixture |  
| check | test result |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
 
 |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
  |  
  |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
 
 | then result is |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
  | 
Mismatches and errors are reported.
when test is⇓
| story test fixture |  
| check | test result |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
 
 |  
 
| check | nested |  
| name | elements |  
| apple |  
identity
 Column 'identity' not used. 
  | count |  
a expected void actual | 1 |  
|  surplus | 
2 |   
 |  
| orange |  
 |  
| pear |  
 |  
  |  
  |  
  |  
 
| check | nested |  
| name | elements |  
| apple |  
 |  
| orange |  
 |  
| pear |  
 |  
 
 |  
 
 | then result is |  
 
| check | nested |  
| name | elements |  
| apple |  
identity
 Column 'identity' not used. 
  | count |  
a expected void actual | 1 |  
|  surplus | 
2 |   
 |  
| orange |  
 |  
| pear |  
 |  
  |  
  | 
The report when an embedded table is missing isn't so good. But how to decide whether to put the List into a table? And what labels? And whether to include embedded tables to some depth?
when test is⇓
| story test fixture |  
| check | test result |  
 
 |  
 
| check | nested |  
| name | elements |  
| orange |  
 |  
| pear |  System.Collections.ArrayList |  
| apple surplus | 
System.Collections.ArrayList |   
 |  
  |  
  |  
 
 | then result is |  
 
| check | nested |  
| name | elements |  
| orange |  
 |  
| pear |  System.Collections.ArrayList |  
| apple surplus | 
System.Collections.ArrayList |   
 |  
  |