schambers/fluentmigrator — pull request #416 by matthewdunsdon (2013-05-26 07:58:52+00:00)
Title: Refactor generator tests

The existing unit tests for 'generators' share a common set of test cases, but since there is minimal amount base test classes, there are generators that are missing tests. This code is an attempt to resolve this by improving base test classes.

The goals are
* Refactor existing test code into more meaningful classes: i.e.
* `ColumnTests.cs`
* `DataTests.cs`
* `TableTests.cs`
* Add extra tests to improve test coverage

### Scope
The scope behind this work is to add the tests that describe the current behaviour of the system. I have not verified whether the output given by each test is the intended behaviour, nor have I tried to run any of outputs of these unit tests on an actual database.

It is my expectation that as people encounter problems and review these new tests, they will correct any incorrect assumptions in the tests and update the rest of the application to make the test pass.

### Notes
The first point to note is that these code will introduce challenges around merging generator unit test changes that others make. I have invested to try to make this job as painless as possible but this issue will still be there.

Secondly, I have introduced a new folder to cover the use of an alternative Oracle quoter. It is my understanding that a test should only have one assertion, so that it is easy to diagnose what went wrong, so this was the solution I was lead to.

Finally, a significant subset of the tests I have added are checking how functionality works when the default and a custom schema is used. Although a lot of these tests seem to be almost identical for some generators, which was done to make sure I could have simpler base classes, there are benefits to this. The main benefit is that these test document that some generators will not handle schema and will allow us to capture any mistakes that get made around schemas code changes in the rest of the application