MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_equality

Method test_equality

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

Source from the content-addressed store, hash-verified

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