add unit test framework for optimizers