def test_slab_fresnel_reflectance(self):
        #TODO
    #include a check that this is greater than the fresnel reflection coef, and
    #check for correct values

        #if TIR is exceeded, should return a nan:
        tir_angle = geo.tir_angle(1.6, 1.0)
        self.assertTrue(numpy.isnan(
          geo.slab_fresnel_reflectance(1.6, tir_angle + 0.01, 1.0)))
    def test_fresnel_coefs(self):
        self.assertEqual(geo.fresnel_coefs(1.0, 0, 1.0), (0.0, 1.0))
        R,T = geo.fresnel_coefs(1.6, 0.5, 1.0)
        self.assertAlmostEqual(R, 0.072538667, places=6)
        self.assertAlmostEqual(T, 0.927461332, places=6)

        #angles which exceed TIR should return nans:
        tir_angle = geo.tir_angle(1.6, 1.0)
        self.assertTrue(all(numpy.isnan(geo.fresnel_coefs(1.6,
                                                          tir_angle + 0.01,
                                                          1.0))))
 def test_tir_angle(self):
     self.assertAlmostEqual(geo.tir_angle(1.0, 1.0), 1.570796, places=6)
     self.assertAlmostEqual(geo.tir_angle(1.0, 1.1), 1.570796, places=6)
     self.assertAlmostEqual(geo.tir_angle(1.5, 1.0), 0.7297276, places=6)