add Unit Test

Not Finished