Fix and test case for: RowGateway primary key not null constraint do not fail with empty string

When passing quotes as a empty string on the primary key column the initialize fails to recognize the empty value because of the array casting on the constructor. 


Split mocking logic from instantiation into separate blocks: makes it much more readable