Esempio n. 1
0
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)