The scary FooBarTest

time to read 1 min | 188 words

I just made some edge case coverage for SQL 2005 Dialect in NHibernate, those edge cases required a wholly different approach, and took about three times as long as I thought they would.

In the end, I got a working design that I liked, and then it was time to turn on the big guns, running the entire NHibernate test suite (1028 tests as the moment, in the core test project). That is fairly good in throwing all kind of weird poo at NHibernate, and ensuring that we can actually can withstand what real developer throw at us.

I had four breaking tests as a result of the change, all of them in the FooBarTest, which reside in the Legacy directory. The Legacy classification is not a joke, it include such definitions as:

<column name="`@@##integer_  *`" unique-key="abc" not-null="true"/>

<property name="Formula" formula="2 * int_"/>

And other nice things. My poor tokenizer just started crying and went to stand in the corner when it saw that. That test fixture has over 5 KLOC, and I think that I may have nightmares about the databases that caused it to become necessary...