Update AssertValue() implementation

Previously when the data is a collection the test framework will try to cast the expected value to a collection and iterate values in it. But if the expected value is not a collection, an exception will be thrown out. This pull request fixes this issue.

Now there are 35 test cases previous had errors now just fail.