MCPcopy Create free account
hub / github.com/sqlalchemy/sqlalchemy / test_basic_sanity

Method test_basic_sanity

test/base/test_utils.py:2067–2132  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

2065 )
2066
2067 def test_basic_sanity(self):
2068 IdentitySet = util.IdentitySet
2069
2070 o1, o2, o3 = self.obj_type(), self.obj_type(), self.obj_type()
2071 ids = IdentitySet([o1])
2072 ids.discard(o1)
2073 ids.discard(o1)
2074 ids.add(o1)
2075 ids.remove(o1)
2076 assert_raises(KeyError, ids.remove, o1)
2077
2078 eq_(ids.copy(), ids)
2079
2080 # explicit __eq__ and __ne__ tests
2081 assert ids != None # noqa
2082 assert not (ids == None) # noqa
2083
2084 ne_(ids, IdentitySet([o1, o2, o3]))
2085 ids.clear()
2086 assert o1 not in ids
2087 ids.add(o2)
2088 assert o2 in ids
2089 eq_(ids.pop(), o2)
2090 ids.add(o1)
2091 eq_(len(ids), 1)
2092
2093 isuper = IdentitySet([o1, o2])
2094 assert ids < isuper
2095 assert ids.issubset(isuper)
2096 assert isuper.issuperset(ids)
2097 assert isuper > ids
2098
2099 eq_(ids.union(isuper), isuper)
2100 eq_(ids | isuper, isuper)
2101 eq_(isuper - ids, IdentitySet([o2]))
2102 eq_(isuper.difference(ids), IdentitySet([o2]))
2103 eq_(ids.intersection(isuper), IdentitySet([o1]))
2104 eq_(ids & isuper, IdentitySet([o1]))
2105 eq_(ids.symmetric_difference(isuper), IdentitySet([o2]))
2106 eq_(ids ^ isuper, IdentitySet([o2]))
2107
2108 ids.update(isuper)
2109 ids |= isuper
2110 ids.difference_update(isuper)
2111 ids -= isuper
2112 ids.intersection_update(isuper)
2113 ids &= isuper
2114 ids.symmetric_difference_update(isuper)
2115 ids ^= isuper
2116
2117 ids.update("foobar")
2118 try:
2119 ids |= "foobar"
2120 assert False
2121 except TypeError:
2122 assert True
2123
2124 try:

Callers

nothing calls this directly

Calls 15

discardMethod · 0.95
addMethod · 0.95
removeMethod · 0.95
copyMethod · 0.95
clearMethod · 0.95
popMethod · 0.95
issubsetMethod · 0.95
issupersetMethod · 0.95
unionMethod · 0.95
differenceMethod · 0.95
intersectionMethod · 0.95
symmetric_differenceMethod · 0.95

Tested by

no test coverage detected