Jianfeng/checkout tests

@jakebiesinger  @anbangx @Elmira88 
I fixed some test cases. 
There is one bug inside the Node.neighbor.iterator, which will ignore the first item.
The test cases is really useful to prevent some future big bugs.