added more unit test cases and introduced fluent assertions