(self)
| 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) |
nothing calls this directly
no test coverage detected