Oh... this is not a full test coverage, my time is out :( But i think this is the most important test examples