MCPcopy Index your code
hub / github.com/python/cpython / test_equality

Method test_equality

Lib/test/test_statistics.py:3234–3276  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

3232 self.assertEqual(X.stdev, Y.stdev)
3233
3234 def test_equality(self):
3235 NormalDist = self.module.NormalDist
3236 nd1 = NormalDist()
3237 nd2 = NormalDist(2, 4)
3238 nd3 = NormalDist()
3239 nd4 = NormalDist(2, 4)
3240 nd5 = NormalDist(2, 8)
3241 nd6 = NormalDist(8, 4)
3242 self.assertNotEqual(nd1, nd2)
3243 self.assertEqual(nd1, nd3)
3244 self.assertEqual(nd2, nd4)
3245 self.assertNotEqual(nd2, nd5)
3246 self.assertNotEqual(nd2, nd6)
3247
3248 # Test NotImplemented when types are different
3249 class A:
3250 def __eq__(self, other):
3251 return 10
3252 a = A()
3253 self.assertEqual(nd1.__eq__(a), NotImplemented)
3254 self.assertEqual(nd1 == a, 10)
3255 self.assertEqual(a == nd1, 10)
3256
3257 # All subclasses to compare equal giving the same behavior
3258 # as list, tuple, int, float, complex, str, dict, set, etc.
3259 class SizedNormalDist(NormalDist):
3260 def __init__(self, mu, sigma, n):
3261 super().__init__(mu, sigma)
3262 self.n = n
3263 s = SizedNormalDist(100, 15, 57)
3264 nd4 = NormalDist(100, 15)
3265 self.assertEqual(s, nd4)
3266
3267 # Don't allow duck type equality because we wouldn't
3268 # want a lognormal distribution to compare equal
3269 # to a normal distribution with the same parameters
3270 class LognormalDist:
3271 def __init__(self, mu, sigma):
3272 self.mu = mu
3273 self.sigma = sigma
3274 lnd = LognormalDist(100, 15)
3275 nd = NormalDist(100, 15)
3276 self.assertNotEqual(nd, lnd)
3277
3278 def test_copy(self):
3279 nd = self.module.NormalDist(37.5, 5.625)

Callers

nothing calls this directly

Calls 7

__eq__Method · 0.95
NormalDistClass · 0.85
SizedNormalDistClass · 0.85
LognormalDistClass · 0.85
assertNotEqualMethod · 0.80
AClass · 0.70
assertEqualMethod · 0.45

Tested by

no test coverage detected