An example of ColumnFixture, ActionFixture and RowFixture in perl

An example of ColumnFixture, ActionFixture and RowFixture in perl.

A null value, i.e. undef, is displayed as “NULL”, but the respective variables contain undef.

In order to achieve this, we use a TypeAdapter, namely the NullFkWrapper.

Let’s start with some data (may be the result of a selection on a database...)

NullValueTest
id | cname | manager_id
1 | busik | NULL
2 | berger | 1
3 | maas | 1
4 | fieg | NULL
5 | tiebe | 1

NullValueTest is a ColumnFixture, its purpose is solely to take the input data.

fit.ActionFixture
start | RowsetFilter |  |
check | rowCount | 0 | should be empty on beginning...
enter | findById | 1 |
check | rowCount | 1 |
enter | findByManagerId | NULL |
enter | rowCount | 2 |

Now you’ve seen an ActionFixture in action...

How to check, if the system found the right two rows? Let’s check it with a RowFixture

FilteredData
id | cname
1 | busik
4 | fieg

You are interested in the cname field only? No problem for a row fixture (and ok, since cname happies to be unique too)

FilteredData
cname
busik
fieg

What about an empty filtered data?

fit.ActionFixture
start | RowsetFilter |  |
press | clear |  |

FilteredData
id | cname | manager_id

Another filter...

fit.ActionFixture
start | RowsetFilter |  |
enter | findByManagerId | 1 |

FilteredData
id | cname | manager_id
2 | berger | 1
3 | maas | 1
5 | tiebe | 1

fit.ActionFixture
start | RowsetFilter |  |
press | allRows |  |

In the output you should see a row marked as “surplus”

FilteredData
id | cname | manager_id
1 | busik | NULL
2 | berger | 1
3 | maas | 1
4 | fieg | NULL

fit.Summary |