ios - Compare two objects in objective-c unit test assert -
ios - Compare two objects in objective-c unit test assert -
i new in testing in objective-c have experience in .net mstest.
what best way compare 2 objects in objective c using xctassert?
example code below:
- (void)testnumericvalue_saveandload_shouldsaveandthenloadidenticalobject { [_numericvalue_1 savetodatabasewithkey:valid_key_1]; numericvalue *tmpnumericvalue = [[numericvalue alloc] loadfromdatabasewithkey:valid_key_1]; xctassertequalobjects(tmpnumericvalue, _numericvalue_1); } - (void)testloop_saveandload_shouldsaveandthenloadidenticalobject { [_loop_1 savetodatabase]; loop *tmploop = [[loop alloc] loadfromdatabase]; xctassertequalobjects(tmploop, _loop_1); } i have many tests this. sure save , load functions work in proper way. of tests passing, failing. reason? want objects have same properties values. have compare of properties 1 one? there "cleaner" way?
thank time
some of them passing, failing. reason?
this because using default equality comparison.
i want objects have same properties values. have compare of properties 1 one? there "cleaner" way?
yes. override isequals compare properties one-by-one, , xctassertequalobjects comparisons correctly:
-(bool)isequal:(id)other { ... } don't forget override hash well:
-(nsinteger)hash { ... } here link answer discusses best practices overriding isequal: , hash.
ios objective-c unit-testing
Comments
Post a Comment