Пример #1
0
 def testReadSingleFile(self):
     """
     Test the correct interpretation of physical constants
     as definied in FMF version 1.1.
     """
     consts = LoadFMF.readSingleFile(self.FMFinput, "testReadSingleFile")[0].attributes[
         "Mathematical and Physical Constants"
     ]
     self.assertEqual(consts[u"Speed of light"][1], str2unit("1 c", FMFversion="1.1"))
     self.assertEqual(
         consts[u"Permeability of vacuum"][1],
         str2unit("1 mu0", FMFversion="1.1"),
         "The values differ by %s." % (consts[u"Permeability of vacuum"][1] - str2unit("1 mu0", FMFversion="1.1"),),
     )
     self.assertEqual(consts[u"Permittivity of vacuum"][1], str2unit("1 eps0", FMFversion="1.1"))
     self.assertEqual(consts[u"Gravitational constant"][1], str2unit("1 G", FMFversion="1.1"))
     self.assertEqual(consts[u"Planck constant"][1], str2unit("1 h", FMFversion="1.1"))
     self.assertEqual(consts[u"Planck constant / 2pi"][1], str2unit("1 hbar", FMFversion="1.1"))
     self.assertEqual(
         consts[u"Elementary charge"][1],
         str2unit("1 e", FMFversion="1.1"),
         "The elements %s and %s do not match."
         % (consts[u"Elementary charge"][1], str2unit("1 e", FMFversion="1.1")),
     )
     self.assertEqual(consts[u"Electron mass"][1], str2unit("1 me", FMFversion="1.1"))
     self.assertEqual(consts[u"Proton mass"][1], str2unit("1 mp", FMFversion="1.1"))
     self.assertEqual(consts[u"Avogadro number"][1], str2unit("1 NA", FMFversion="1.1"))
     self.assertEqual(consts[u"Boltzmann constant"][1], str2unit("1 k", FMFversion="1.1"))
     self.assertEqual(consts[u"Rydberg constant"][1], str2unit("1 Ryd", FMFversion="1.1"))
     consts = LoadFMF.readSingleFile(self.FMFinput, "testReadSingleFile")[0].attributes[
         "Additional constants changed from FMF version 1.0 to 1.1"
     ]
     self.assertEqual(consts[u"Parsec"][1], str2unit("1 pc", FMFversion="1.1"))
     self.assertEqual(consts[u"US gallon"][1], str2unit("1 galUS", FMFversion="1.1"))
     self.assertEqual(consts[u"Atomic mass units"][1], str2unit("1 u", FMFversion="1.1"))
Пример #2
0
 def testReadSingleFile(self):
     """
     Test the correct interpretation of physical constants
     as definied in FMF version 1.1.
     """
     consts = LoadFMF.readSingleFile(
         self.FMFinput, "testReadSingleFile"
     )[0].attributes['Mathematical and Physical Constants']
     self.assertEqual(consts[u'Speed of light'][1],
                      str2unit("1 c", FMFversion="1.1"))
     self.assertEqual(
         consts[u'Permeability of vacuum'][1],
         str2unit("1 mu0", FMFversion="1.1"),
         'The values differ by %s.' % (
             consts[u'Permeability of vacuum'][1] -\
             str2unit("1 mu0", FMFversion="1.1"),
             )
         )
     self.assertEqual(consts[u'Permittivity of vacuum'][1],
                      str2unit("1 eps0", FMFversion="1.1"))
     self.assertEqual(consts[u'Gravitational constant'][1],
                      str2unit("1 G", FMFversion="1.1"))
     self.assertEqual(consts[u'Planck constant'][1],
                      str2unit("1 h", FMFversion="1.1"))
     self.assertEqual(consts[u'Planck constant / 2pi'][1],
                      str2unit("1 hbar", FMFversion="1.1"))
     self.assertEqual(
         consts[u'Elementary charge'][1], str2unit("1 e", FMFversion="1.1"),
         'The elements %s and %s do not match.' %
         (consts[u'Elementary charge'][1], str2unit("1 e",
                                                    FMFversion="1.1")))
     self.assertEqual(consts[u'Electron mass'][1],
                      str2unit("1 me", FMFversion="1.1"))
     self.assertEqual(consts[u'Proton mass'][1],
                      str2unit("1 mp", FMFversion="1.1"))
     self.assertEqual(consts[u'Avogadro number'][1],
                      str2unit("1 NA", FMFversion="1.1"))
     self.assertEqual(consts[u'Boltzmann constant'][1],
                      str2unit("1 k", FMFversion="1.1"))
     self.assertEqual(consts[u'Rydberg constant'][1],
                      str2unit("1 Ryd", FMFversion="1.1"))
     consts = LoadFMF.readSingleFile(
         self.FMFinput, "testReadSingleFile")[0].attributes[
             'Additional constants changed from FMF version 1.0 to 1.1']
     self.assertEqual(consts[u'Parsec'][1],
                      str2unit("1 pc", FMFversion="1.1"))
     self.assertEqual(consts[u'US gallon'][1],
                      str2unit("1 galUS", FMFversion="1.1"))
     self.assertEqual(consts[u'Atomic mass units'][1],
                      str2unit("1 u", FMFversion="1.1"))
Пример #3
0
 def testReadSingleFile(self):
     """
     Test the correct interpretation of physical constants
     as definied in FMF version 1.0.
     """
     consts = LoadFMF.readSingleFile(
         self.FMFinput, "testReadSingleFile"
     )[0].attributes['Mathematical and Physical Constants']
     self.assertEqual(consts[u'Speed of light'][1],
                      str2unit("1 c", FMFversion="1.0"))
     self.assertEqual(consts[u'Speed of light'][1], str2unit("1 c"))
     self.assertEqual(consts[u'Permeability of vacuum'][1],
                      str2unit("1 mu0", FMFversion="1.0"))
     self.assertEqual(consts[u'Permittivity of vacuum'][1],
                      str2unit("1 eps0", FMFversion="1.0"))
     self.assertEqual(consts[u'Gravitational constant'][1],
                      str2unit("1 Grav", FMFversion="1.0"))
     self.assertTrue(consts[u'Planck constant'][1],
                     str2unit("1 hplanck", FMFversion="1.0"))
     self.almostEqual(consts[u'Planck constant / 2pi'][1],
                      str2unit("1 hbar", FMFversion="1.0"))
     self.almostEqual(consts[u'Elementary charge'][1],
                      str2unit("1 e", FMFversion="1.0"))
     self.assertNotEqual(
         consts[u'Elementary charge'][1], str2unit("1 e"),
         "Elementary charge has been adapted to new CODATA recommendations."
     )
     self.assertEqual(consts[u'Electron mass'][1],
                      str2unit("1 me", FMFversion="1.0"))
     self.assertNotEqual(
         consts[u'Electron mass'][1], str2unit("1 me"),
         "Electron mass has been adapted to new CODATA recommendations.")
     self.assertEqual(consts[u'Proton mass'][1],
                      str2unit("1 mp", FMFversion="1.0"))
     self.assertNotEqual(
         consts[u'Proton mass'][1], str2unit("1 mp"),
         "Proton mass has been adapted to new CODATA recommendations.")
     self.assertEqual(consts[u'Avogadro number'][1],
                      str2unit("1 Nav", FMFversion="1.0"))
     self.assertEqual(consts[u'Boltzmann constant'][1],
                      str2unit("1 k", FMFversion="1.0"))
     consts = LoadFMF.readSingleFile(
         self.FMFinput, "testReadSingleFile")[0].attributes[
             'Additional constants changed from FMF version 1.0 to 1.1']
     self.almostEqual(consts[u'Parsec'][1],
                      str2unit("1 pc", FMFversion="1.0"))
     self.almostEqual(consts[u'US gallon'][1],
                      str2unit("1 galUS", FMFversion="1.0"))
     self.assertEqual(consts[u'Atomic mass units'][1],
                      str2unit("1 amu", FMFversion="1.0"))
Пример #4
0
 def testListofStrings2(self):
     column = [['Hello', 'World'], 'World']
     result = LoadFMF.column2FieldContainer('simple string', column)
     expectedResult = FieldContainer(
         numpy.array(['Hello, World', 'World']), longname='simple string'
         )
     assertEqual(result, expectedResult)
Пример #5
0
 def testListofStrings(self):
     column = ['World', ['Hello', 'World'], 'World']
     result = LoadFMF.column2FieldContainer('simple string', column)
     expectedResult = FieldContainer(numpy.array(
         ['World', 'Hello, World', 'World']),
                                     longname='simple string')
     assertEqual(result, expectedResult)
Пример #6
0
 def testVariableFirstNaN(self):
     column = [
         ('T', 'NaN', Quantity('0.5 degC')),
         ('T', Quantity('11.2 degC'), None)
         ]
     result = LoadFMF.column2FieldContainer('temperature', column)
     expectedResult = FieldContainer(
         numpy.array([numpy.NaN, 11.2]), error=numpy.array([0.5, 0.0]),
         mask = numpy.array([True, False]),
         unit='1 degC', longname='temperature', shortname='T')
     assertEqual(result, expectedResult)
Пример #7
0
 def registerFMF(self, filename, temporary=False):
     """
     Extracts a SampleContainer from a given FMF file and stores it
     permanently. The emd5 of the SampleContainer that has been generated
     is returned.
     filename -- path to the FMF file
     temporary -- see registerDataContainer
     """
     sc = LoadFMF.loadFMFFromFile(filename)
     self.registerDataContainer(sc, temporary)
     return sc.id
Пример #8
0
 def registerFMF(self, filename, temporary=False):
     """
     Extracts a SampleContainer from a given FMF file and stores it
     permanently. The emd5 of the SampleContainer that has been generated
     is returned.
     filename -- path to the FMF file
     temporary -- see registerDataContainer
     """
     sc = LoadFMF.loadFMFFromFile(filename)
     self.registerDataContainer(sc, temporary)
     return sc.id
Пример #9
0
 def testVariable(self):
     column = [('T', Quantity('22.4 degC'), Quantity('0.5 degC')),
               ('T', Quantity('11.2 degC'), Quantity('0.5 degC'))]
     result = LoadFMF.column2FieldContainer('temperature', column)
     expectedResult = FieldContainer(numpy.array([22.4, 11.2]),
                                     error=numpy.array([0.5, 0.5]),
                                     mask=numpy.array([False, False]),
                                     unit='1 degC',
                                     longname='temperature',
                                     shortname='T')
     assertEqual(result, expectedResult)
Пример #10
0
 def testVariableFirstNaN(self):
     column = [('T', 'NaN', Quantity('0.5 degC')),
               ('T', Quantity('11.2 degC'), None)]
     result = LoadFMF.column2FieldContainer('temperature', column)
     expectedResult = FieldContainer(numpy.array([numpy.NaN, 11.2]),
                                     error=numpy.array([0.5, 0.0]),
                                     mask=numpy.array([True, False]),
                                     unit='1 degC',
                                     longname='temperature',
                                     shortname='T')
     assertEqual(result, expectedResult)
Пример #11
0
 def testVariable(self):
     column = [
         ('T', Quantity('22.4 degC'), Quantity('0.5 degC')),
         ('T', Quantity('11.2 degC'), Quantity('0.5 degC'))
         ]
     result = LoadFMF.column2FieldContainer('temperature', column)
     expectedResult = FieldContainer(
         numpy.array([22.4, 11.2]) ,error=numpy.array([0.5, 0.5]),
         mask=numpy.array([False, False]),
         unit='1 degC', longname='temperature', shortname='T'
         )
     assertEqual(result, expectedResult)
Пример #12
0
 def testVariableWithNaN(self):
     column = [("T", Quantity("22.4 degC"), Quantity("0.5 degC")), ("T", Quantity("11.2 degC"), None)]
     result = LoadFMF.column2FieldContainer("temperature", column)
     expectedResult = FieldContainer(
         numpy.array([22.4, 11.2]),
         error=numpy.array([0.5, 0.0]),
         mask=numpy.array([False, False]),
         unit="1 degC",
         longname="temperature",
         shortname="T",
     )
     assertEqual(result, expectedResult)
Пример #13
0
 def testReadSingleFile(self):
     """
     Test the correct interpretation of physical constants
     as definied in FMF version 1.0.
     """
     consts = LoadFMF.readSingleFile(self.FMFinput, "testReadSingleFile")[0].attributes[
         "Mathematical and Physical Constants"
     ]
     self.assertEqual(consts[u"Speed of light"][1], str2unit("1 c", FMFversion="1.0"))
     self.assertEqual(consts[u"Speed of light"][1], str2unit("1 c"))
     self.assertEqual(consts[u"Permeability of vacuum"][1], str2unit("1 mu0", FMFversion="1.0"))
     self.assertEqual(consts[u"Permittivity of vacuum"][1], str2unit("1 eps0", FMFversion="1.0"))
     self.assertEqual(consts[u"Gravitational constant"][1], str2unit("1 Grav", FMFversion="1.0"))
     self.assertTrue(consts[u"Planck constant"][1], str2unit("1 hplanck", FMFversion="1.0"))
     self.almostEqual(consts[u"Planck constant / 2pi"][1], str2unit("1 hbar", FMFversion="1.0"))
     self.almostEqual(consts[u"Elementary charge"][1], str2unit("1 e", FMFversion="1.0"))
     self.assertNotEqual(
         consts[u"Elementary charge"][1],
         str2unit("1 e"),
         "Elementary charge has been adapted to new CODATA recommendations.",
     )
     self.assertEqual(consts[u"Electron mass"][1], str2unit("1 me", FMFversion="1.0"))
     self.assertNotEqual(
         consts[u"Electron mass"][1],
         str2unit("1 me"),
         "Electron mass has been adapted to new CODATA recommendations.",
     )
     self.assertEqual(consts[u"Proton mass"][1], str2unit("1 mp", FMFversion="1.0"))
     self.assertNotEqual(
         consts[u"Proton mass"][1], str2unit("1 mp"), "Proton mass has been adapted to new CODATA recommendations."
     )
     self.assertEqual(consts[u"Avogadro number"][1], str2unit("1 Nav", FMFversion="1.0"))
     self.assertEqual(consts[u"Boltzmann constant"][1], str2unit("1 k", FMFversion="1.0"))
     consts = LoadFMF.readSingleFile(self.FMFinput, "testReadSingleFile")[0].attributes[
         "Additional constants changed from FMF version 1.0 to 1.1"
     ]
     self.almostEqual(consts[u"Parsec"][1], str2unit("1 pc", FMFversion="1.0"))
     self.almostEqual(consts[u"US gallon"][1], str2unit("1 galUS", FMFversion="1.0"))
     self.assertEqual(consts[u"Atomic mass units"][1], str2unit("1 amu", FMFversion="1.0"))
Пример #14
0
 def testJouleValue1_0(self):
     """Physical quantities with unit Joule are indicated by 'J'."""
     result = LoadFMF.item2value(self.inputDict["Joule"], FMFversion="1.0")
     self.assertEqual(result, (Quantity(self.inputDict["Joule"]), None))
Пример #15
0
 def testComplexValue(self):
     """Imaginary numbers are indicated by 'j'."""
     result = LoadFMF.item2value(self.inputDict["complexJ"])
     self.assertEqual(result, (complex(self.inputDict["complexJ"]), None))
Пример #16
0
 def testComplexValue(self):
     """Imaginary numbers are indicated by 'j'."""
     result = LoadFMF.item2value(self.inputDict['complexJ'])
     self.assertEqual(result, (complex(self.inputDict['complexJ']), None))
Пример #17
0
 def testValid(self):
     result = LoadFMF.checkAndCondense(self.valid)
     numpy.testing.assert_array_equal(self.x, result)
Пример #18
0
 def testJouleValue1_0(self):
     """Physical quantities with unit Joule are indicated by 'J'."""
     result = LoadFMF.item2value(self.inputDict['Joule'], FMFversion='1.0')
     self.assertEqual(result, (Quantity(self.inputDict['Joule']), None))
Пример #19
0
 def load(self, filename):
     import os
     data = LoadFMF.loadFMFFromFile(os.path.join(self.path, filename))
     data.seal()
     return data
Пример #20
0
 def testValid(self):
     result = LoadFMF.checkAndCondense(self.valid)
     numpy.testing.assert_array_equal(self.x, result)
Пример #21
0
 def load(self, filename):
     res = "tests/resources/fmf/" + filename
     data = LoadFMF.loadFMFFromFile(pkg_resources.resource_filename("pyphant", res))
     data.seal()
     return data
Пример #22
0
 def testJouleValue1_1(self):
     """Physical quantities with unit Joule are indicated by 'J'."""
     result = LoadFMF.item2value(self.inputDict['Joule'])
     self.assertEqual(result, (Quantity(self.inputDict['Joule']), None))
Пример #23
0
 def testListofStrings2(self):
     column = [["Hello", "World"], "World"]
     result = LoadFMF.column2FieldContainer("simple string", column)
     expectedResult = FieldContainer(numpy.array(["Hello, World", "World"]), longname="simple string")
     assertEqual(result, expectedResult)
Пример #24
0
 def testReadSingleFile(self):
     """
     Test the correct interpretation of physical constants
     as definied in FMF version 1.1.
     """
     consts = LoadFMF.readSingleFile(
         self.FMFinput, "testReadSingleFile")[0].attributes[
         'Mathematical and Physical Constants'
         ]
     self.assertEqual(
         consts[u'Speed of light'][1], str2unit("1 c", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Permeability of vacuum'][1],
         str2unit("1 mu0", FMFversion="1.1"),
         'The values differ by %s.' % (
             consts[u'Permeability of vacuum'][1] -\
             str2unit("1 mu0", FMFversion="1.1"),
             )
         )
     self.assertEqual(
         consts[u'Permittivity of vacuum'][1],
         str2unit("1 eps0", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Gravitational constant'][1],
         str2unit("1 G", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Planck constant'][1],
         str2unit("1 h", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Planck constant / 2pi'][1],
         str2unit("1 hbar", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Elementary charge'][1], str2unit("1 e",FMFversion="1.1"),
         'The elements %s and %s do not match.' % (
             consts[u'Elementary charge'][1],
             str2unit("1 e", FMFversion="1.1")
             )
         )
     self.assertEqual(
         consts[u'Electron mass'][1], str2unit("1 me", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Proton mass'][1], str2unit("1 mp", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Avogadro number'][1], str2unit("1 NA", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Boltzmann constant'][1], str2unit("1 k",FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Rydberg constant'][1], str2unit("1 Ryd", FMFversion="1.1")
         )
     consts = LoadFMF.readSingleFile(
         self.FMFinput, "testReadSingleFile")[0].attributes[
         'Additional constants changed from FMF version 1.0 to 1.1'
         ]
     self.assertEqual(
         consts[u'Parsec'][1], str2unit("1 pc", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'US gallon'][1], str2unit("1 galUS", FMFversion="1.1")
         )
     self.assertEqual(
         consts[u'Atomic mass units'][1], str2unit("1 u", FMFversion="1.1")
         )
Пример #25
0
 def load(self, filename):
     import os
     data = LoadFMF.loadFMFFromFile(os.path.join(self.path, filename))
     data.seal()
     return data
Пример #26
0
 def load(self, filename):
     res = 'tests/resources/fmf/' + filename
     data = LoadFMF.loadFMFFromFile(
         pkg_resources.resource_filename('pyphant', res))
     data.seal()
     return data