I would rename this function to AssertAssonListEqualsPSObjectList, and put the actual assertions in here, rather than doing Assert.IsTrue on the outside.

The reason is that if the assertion fails, it's really helpful to know what index it mismatched on; you can get that information while debugging if you have the assertion inside the loop - it'll drop you into the debugger at the assertion failure with stack intact and you can see what the value of 'i' is.