Set of Interpreter
Matching single elements
| Import |
| com.greenpepper.interpreter |
| GreenPepper.Interpreters |
A set interpreter tries to match each row of the specification with a row inside a collection returned by the SUD.
The rows that match are success.
The orders of the rows is not important.
| rule for |
Set of |
| spec values |
sud values |
annotations? |
[a] [b] [c] |
a,b,c |
[a right] [b right] [c right] |
[a] [b] [c] |
c,b,a |
[a right] [b right] [c right] |
Rows that are in the specification but not returned by the SUD are labelled missing.
| rule for |
Set of |
| spec values |
sud values |
annotations? |
[a] [b] [c] |
a,b |
[a right] [b right] [c missing] |
Rows that are not in the specification but are returned by the SUD are labelled Surplus
| rule for |
Set of |
| spec values |
sud values |
annotations? |
[a] [b] |
a,b,c |
[a right] [b right] [c surplus] |
Duplicates
Duplicate values in the specifications are considered as separates elements in a set.
| rule for |
Set of |
| spec values |
sud values |
annotations? |
[a] [a] [b] |
a,b,a |
[a right] [a right] [b right] |
[a] [a] [b] |
a,b,c |
[a right] [a missing] [b right] [c surplus] |
[a] [b] [c] |
a,b,b |
[a right] [b right] [c missing] [b surplus] |
Matching rows
All the columns in one row must match but columns that ends with ? or () to consider that the row match. If a row is not or in surplus.All the columns in the row are tages as wrong except the first one which is tagged surplus or missing.
Columns that ends with ? or () are not considered for matching.
| rule for |
Set of Employee |
| spec values |
sud values |
annotations? |
[Christian][Lapointe] [Fabrice][Rochambeau] [Paul][Young] |
Fabrice, Rochambeau Christian, Audet Paul, Young |
[Christian missing][Lapointe missing] [Fabrice right][Rochambeau right] [Paul right][Young right] [Christian surplus][Audet surplus] |
Variation of the set concept.
We have two existing variation of the Set concept.
1- The Subset
2- The Superset