added unit test for abstract factory