def test_remove_works_with_complex_embedded_documents_and_dot_notation(): t = TestArray('remove_complex_embedded_docs') with DBTest: for i in xrange(5): t.append({'foo': 'bar', 'fnord': {'i': i, 'spam': 'eggs'}}) eq_(t.length(), 5) ok_(t.remove({'fnord.i': 3})) eq_(t.length(), 4)
def test_remove_works_with_multiple_pages(): t = TestArray('remove_multi_page', 0) v = "Test" with DBTest: for i in xrange(5): t.append(_word()) t.append(v) for i in xrange(5): t.append(_word()) eq_(t.length(), 11) ok_(v in t.all()) t.remove(v) eq_(t.length(), 10) ok_(v not in t.all())
def test_getitem_raises_indexerror_for_out_of_range(): t = TestArray('getitem_out_of_range', 0) with DBTest: for i in xrange(10): t.append(i) ok_(t[0]) ok_(t[1]) ok_(t[2]) ok_(t[3]) t[4]