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 |
|
|