def test_mvwp_copy(): # compares equal to copied MultiVectorWP but not to MultiVector mv0 = MultiVector() mv1 = MultiVectorWithProjection() mis1 = MultiindexSet.createCompleteOrderSet(3, 4) mv0.set_defaults(mis1, FlatVector([3, 4, 5])) mv1.set_defaults(mis1, FlatVector([3, 4, 5])) mv2 = mv1.copy() assert_equal(mv2, mv1) assert_not_equal(mv2, mv0) # compares equal if project methods match, make sure project method is copied mv3 = MultiVectorWithProjection(project=lambda : None) mv3.set_defaults(mis1, FlatVector([3, 4, 5])) mv4 = mv3.copy() assert_not_equal(mv2, mv3) assert_equal(mv4, mv3)