|
10 | 10 |
|
11 | 11 | from celerity.constants import H0_PLANCK_2018, H0_SH0ES_2022 |
12 | 12 | from celerity.cosmology import ( |
| 13 | + get_angular_diameter_distance, |
13 | 14 | get_comoving_distance, |
14 | 15 | get_hubble_parameter, |
15 | 16 | get_luminosity_distance, |
@@ -259,6 +260,111 @@ def test_shoes_z1000(self): |
259 | 260 | ) |
260 | 261 |
|
261 | 262 |
|
| 263 | +# ************************************************************************************** |
| 264 | + |
| 265 | + |
| 266 | +class TestAngularDiameterDistance(unittest.TestCase): |
| 267 | + def test_planck_z0(self): |
| 268 | + d = get_angular_diameter_distance(0.0, H0_PLANCK_2018) |
| 269 | + self.assertEqual(d["value"], 0.0) |
| 270 | + self.assertEqual(d["uncertainty"], 0.0) |
| 271 | + |
| 272 | + def test_shoes_z0(self): |
| 273 | + d = get_angular_diameter_distance(0.0, H0_SH0ES_2022) |
| 274 | + self.assertEqual(d["value"], 0.0) |
| 275 | + self.assertEqual(d["uncertainty"], 0.0) |
| 276 | + |
| 277 | + def test_planck_z0_1(self): |
| 278 | + d = get_angular_diameter_distance(0.1, H0_PLANCK_2018) |
| 279 | + expected_val = 1.21174e25 |
| 280 | + expected_unc = 8.6e22 |
| 281 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.05 * expected_val) |
| 282 | + self.assertAlmostEqual( |
| 283 | + d["uncertainty"], expected_unc, delta=0.20 * expected_unc |
| 284 | + ) |
| 285 | + |
| 286 | + def test_planck_z1(self): |
| 287 | + d = get_angular_diameter_distance(1.0, H0_PLANCK_2018) |
| 288 | + expected_val = 5.221447e25 |
| 289 | + expected_unc = 3.5475e23 |
| 290 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.05 * expected_val) |
| 291 | + self.assertAlmostEqual( |
| 292 | + d["uncertainty"], expected_unc, delta=0.20 * expected_unc |
| 293 | + ) |
| 294 | + |
| 295 | + def test_planck_z10(self): |
| 296 | + d = get_angular_diameter_distance(10.0, H0_PLANCK_2018) |
| 297 | + expected_val = 2.688876e25 |
| 298 | + expected_unc = 1.8232e23 |
| 299 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.05 * expected_val) |
| 300 | + self.assertAlmostEqual( |
| 301 | + d["uncertainty"], expected_unc, delta=0.20 * expected_unc |
| 302 | + ) |
| 303 | + |
| 304 | + def test_planck_z100(self): |
| 305 | + d = get_angular_diameter_distance(100.0, H0_PLANCK_2018) |
| 306 | + expected_val = 3.901548e24 |
| 307 | + expected_unc = 2.65067e22 |
| 308 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.05 * expected_val) |
| 309 | + self.assertAlmostEqual( |
| 310 | + d["uncertainty"], expected_unc, delta=0.20 * expected_unc |
| 311 | + ) |
| 312 | + |
| 313 | + def test_planck_z1000(self): |
| 314 | + d = get_angular_diameter_distance(1000.0, H0_PLANCK_2018) |
| 315 | + expected_val = 4.515514e23 |
| 316 | + expected_unc = 3.06893e21 |
| 317 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.05 * expected_val) |
| 318 | + self.assertAlmostEqual( |
| 319 | + d["uncertainty"], expected_unc, delta=0.20 * expected_unc |
| 320 | + ) |
| 321 | + |
| 322 | + def test_shoes_z0_1(self): |
| 323 | + d = get_angular_diameter_distance(0.1, H0_SH0ES_2022) |
| 324 | + expected_val = 1.12402e25 |
| 325 | + expected_unc = 1.634e23 |
| 326 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.10 * expected_val) |
| 327 | + self.assertAlmostEqual( |
| 328 | + d["uncertainty"], expected_unc, delta=0.25 * expected_unc |
| 329 | + ) |
| 330 | + |
| 331 | + def test_shoes_z1(self): |
| 332 | + d = get_angular_diameter_distance(1.0, H0_SH0ES_2022) |
| 333 | + expected_val = 4.842574e25 |
| 334 | + expected_unc = 6.9058e23 |
| 335 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.10 * expected_val) |
| 336 | + self.assertAlmostEqual( |
| 337 | + d["uncertainty"], expected_unc, delta=0.25 * expected_unc |
| 338 | + ) |
| 339 | + |
| 340 | + def test_shoes_z10(self): |
| 341 | + d = get_angular_diameter_distance(10.0, H0_SH0ES_2022) |
| 342 | + expected_val = 2.493742e25 |
| 343 | + expected_unc = 3.5518e23 |
| 344 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.10 * expected_val) |
| 345 | + self.assertAlmostEqual( |
| 346 | + d["uncertainty"], expected_unc, delta=0.25 * expected_unc |
| 347 | + ) |
| 348 | + |
| 349 | + def test_shoes_z100(self): |
| 350 | + d = get_angular_diameter_distance(100.0, H0_SH0ES_2022) |
| 351 | + expected_val = 3.618497e24 |
| 352 | + expected_unc = 5.15149e22 |
| 353 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.10 * expected_val) |
| 354 | + self.assertAlmostEqual( |
| 355 | + d["uncertainty"], expected_unc, delta=0.25 * expected_unc |
| 356 | + ) |
| 357 | + |
| 358 | + def test_shoes_z1000(self): |
| 359 | + d = get_angular_diameter_distance(1000.0, H0_SH0ES_2022) |
| 360 | + expected_val = 3.957134e23 |
| 361 | + expected_unc = 5.63253e21 |
| 362 | + self.assertAlmostEqual(d["value"], expected_val, delta=0.10 * expected_val) |
| 363 | + self.assertAlmostEqual( |
| 364 | + d["uncertainty"], expected_unc, delta=0.25 * expected_unc |
| 365 | + ) |
| 366 | + |
| 367 | + |
262 | 368 | # ************************************************************************************** |
263 | 369 |
|
264 | 370 | if __name__ == "__main__": |
|
0 commit comments