Пример #1
0
 def test_string_formatting(self):
     p = Pressure(dbar=100)
     s = "{:.1f %u}".format(p)
     self.assertEqual(s, "100.0 dbar")
     s = repr(p)
     self.assertEqual(s, "Pressure(dbar=100.0)")
     p.unit = "m_seawater"
     self.assertRaises(ApproximatedDepthError, "{:.1f %u}".format, p)
     p = Pressure(dbar=4)
     p.unit = "m_seawater"
     self.assertRaises(ApproximatedDepthError, "{:.3f %u}".format, p)
     self.assertEqual("4.0 m", "{:.1f %u}".format(p))
     self.assertEqual("4.0 m", "{}".format(p))
Пример #2
0
    def test_kpa_to_dbar(self):
        kpa = Pressure(kPa=100000)
        expected_dbar = 10000

        self.assertEqual(kpa.dbar, expected_dbar)
Пример #3
0
    def test_meters_of_seawater(self):
        dbars = [5e2, 1e3, 2e3, 3e3, 4e3, 5e3, 6e3, 7e3, 8e3, 9e3, 10e3]
        lats = [0, 30, 45, 60, 90]
        expected = [
            496.65,
            496.00,
            495.34,
            494.69,
            494.03,
            992.12,
            990.81,
            989.50,
            988.19,
            986.88,
            1979.55,
            1976.94,
            1974.33,
            1971.72,
            1969.11,
            2962.43,
            2958.52,
            2954.61,
            2950.71,
            2946.81,
            3940.88,
            3935.68,
            3930.49,
            3925.30,
            3920.10,
            4915.04,
            4908.56,
            4902.08,
            4895.60,
            4889.13,
            5885.03,
            5877.27,
            5869.51,
            5861.76,
            5854.01,
            6850.95,
            6841.92,
            6832.89,
            6823.86,
            6814.84,
            7812.93,
            7802.63,
            7792.33,
            7782.04,
            7771.76,
            8771.07,
            8759.51,
            8747.95,
            8736.40,
            8724.85,
            9725.47,
            9712.65,
            9699.84,
            9687.03,
            9674.23,
        ]
        for inputs, output in zip(iproduct(dbars, lats), expected):
            kw = dict(dbar=inputs[0], latitude=inputs[1])
            p = Pressure(**kw)
            kw['expected_output'] = output
            with self.subTest(**kw):
                self.assertAlmostEqual(p.m_seawater, output, 2)

        self.assertRaises(NotImplementedError, meters_of_seawater_to_dbar, 1,
                          0)
        self.assertRaises(AttributeError, Pressure, **dict(m_seawater=100))
Пример #4
0
    def test_conversion_to_non_si(self):
        dbar = Pressure(dbar=10000)
        expected_psi = 14503.7737796859

        self.assertAlmostEqual(dbar.psi, expected_psi, 3)
Пример #5
0
    def test_conversion_to_mbar(self):
        hpa = Pressure(hPa=1000.5)
        expected_mbar = 1000.5

        self.assertAlmostEqual(hpa.mbar, expected_mbar)
Пример #6
0
    def test_bar_to_pa(self):
        bar = Pressure(bar=1000)
        expected_pa = 100000000

        self.assertAlmostEqual(bar.Pa, expected_pa)
Пример #7
0
    def test_dbar_to_kpa(self):
        dbar = Pressure(dbar=10000)
        expected_kpa = 100000

        self.assertEqual(dbar.kPa, expected_kpa)
Пример #8
0
    def test_sanity(self):
        bar = Pressure(bar=2)
        atm = Pressure(atm=Decimal('1.973846533432'))

        self.assertAlmostEqual(bar.Pa, atm.Pa)
Пример #9
0
    def test_ensure_that_we_always_output_decimal(self):
        bar = Pressure(bar=2)

        atm = bar.atm

        self.assertTrue(isinstance(atm, Decimal))
Пример #10
0
 def test_conversion_to_non_si(self):
     bar = Pressure(bar=2)
     expected_torr = Decimal('1500.1275108384')
     self.assertAlmostEqual(bar.torr, expected_torr)