Пример #1
0
    def test_good_data(self):
        u = Unit('Celsius', 'derivedSI', 'C')
        test_data = Data(
            id_=0,
            value=10.0, 
            tags=['length', 'foo'], 
            minValue=0, 
            maxValue=100, 
            unit=u)

        assert_true(xml_compare(etree.fromstring(
            """
            <data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.eeml.org/xsd/0.5.1" id="0">
            <tag>length</tag>
            <tag>foo</tag>
            <current_value maxValue="100" minValue="0">10.0</current_value>
            <unit symbol="C" type="derivedSI">Celsius</unit>
            </data>
            """), test_data.toeeml(), reporter=self.fail))
Пример #2
0
    def test_good_data(self):
        u = Unit('Celsius', 'derivedSI', 'C')
        test_data = Data(id_=0,
                         value=10.0,
                         tags=['length', 'foo'],
                         minValue=0,
                         maxValue=100,
                         unit=u)

        assert_true(
            xml_compare(etree.fromstring("""
            <data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.eeml.org/xsd/0.5.1" id="0">
            <tag>length</tag>
            <tag>foo</tag>
            <current_value maxValue="100" minValue="0">10.0</current_value>
            <unit symbol="C" type="derivedSI">Celsius</unit>
            </data>
            """),
                        test_data.toeeml(),
                        reporter=self.fail))
Пример #3
0
    def test_multiple_update(self):
        pac = Cosm(1, 'ASDF')
        pac.update(
            [Data(1, 10),
             Data(2, 22, unit=RH()),
             Data(3, 44),
             Data(5, 65)])

        pac.update([Data(2, 476), Data(5, -1)])

        assert_true(
            xml_compare(etree.fromstring("""
            <eeml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.eeml.org/xsd/0.5.1" xsi:schemaLocation="http://www.eeml.org/xsd/0.5.1 http://www.eeml.org/xsd/0.5.1/0.5.1.xsd" version="0.5.1">
              <environment>
                <data id="1">
                  <current_value>10</current_value>
                </data>
                <data id="2">
                  <current_value>476</current_value>
                </data>
                <data id="3">
                  <current_value>44</current_value>
                </data>
                <data id="5">
                  <current_value>-1</current_value>
                </data>
              </environment>
            </eeml>"""),
                        etree.fromstring(pac.geteeml()),
                        reporter=self.fail))
Пример #4
0
 def test_data_id(self):
     Data(1, 2)
     with self.assertRaises(ValueError):
         Data('foobar', 4)
     with self.assertRaises(ValueError):
         Data(4.44, 4)
Пример #5
0
 def test_at(self):
     Data(1, 2, at=datetime.now())
     with self.assertRaises(ValueError):
         Data(1, 2, at='foobar')
Пример #6
0
 def test_unit(self):
     Data(1, 2, unit=None)
     Data(1, 2, unit=Celsius())
     with self.assertRaises(ValueError):
         Data(1, 2, unit='foobar')
Пример #7
0
    def test_good_create_doc(self):
        env = Environment('A Room Somewhere',
                          'http://www.cosm.com/feeds/1.xml',
                          'frozen',
                          'This is a room somewhere',
                          'http://www.roomsomewhere/icon.png',
                          'http://www.roomsomewhere/',
                          'myemail@roomsomewhere',
                          updated='2007-05-04T18:13:51.0Z',
                          creator='http://www.somewhere',
                          id_=1)
        loc = Location('physical', 'My Room', 32.4, 22.7, 0.2, 'indoor',
                       'fixed')
        u = Unit('Celsius', 'derivedSI', 'C')
        dat = []
        dat.append(
            Data(0,
                 36.2,
                 minValue=23.8,
                 maxValue=48.0,
                 unit=u,
                 tags=['temperature']))
        u = Unit('blushesPerHour', 'contextDependentUnits')
        dat.append(
            Data(1,
                 84.2,
                 minValue=0,
                 maxValue=100,
                 unit=u,
                 tags=['blush', 'redness', 'embarrasement']))
        u = Unit('meter', 'basicSI', 'm')
        dat.append(
            Data(2,
                 12.3,
                 minValue=0,
                 unit=u,
                 tags=['length', 'distance', 'extension']))

        intermed = etree.tostring(create_eeml(
            env, loc, dat).toeeml())  # Broken down to help with error-checking
        final = etree.fromstring(intermed)

        assert_true(
            xml_compare(etree.fromstring("""
            <eeml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.eeml.org/xsd/0.5.1" xsi:schemaLocation="http://www.eeml.org/xsd/0.5.1 http://www.eeml.org/xsd/0.5.1/0.5.1.xsd" version="0.5.1">
                <environment creator="http://www.somewhere" id="1" updated="2007-05-04T18:13:51.0Z">
                    <title>A Room Somewhere</title>
                    <feed>http://www.cosm.com/feeds/1.xml</feed>                    
                    <status>frozen</status>
                    <description>This is a room somewhere</description>
                    <icon>http://www.roomsomewhere/icon.png</icon>
                    <website>http://www.roomsomewhere/</website>
                    <email>myemail@roomsomewhere</email>
                    <location disposition="fixed" domain="physical" exposure="indoor">
                        <name>My Room</name>
                        <lat>32.4</lat>
                        <lon>22.7</lon>
                        <ele>0.2</ele>
                    </location>
                    <data id="0">
                        <tag>temperature</tag>
                        <current_value maxValue="48.0" minValue="23.8">36.2</current_value>
                        <unit symbol="C" type="derivedSI">Celsius</unit>
                    </data>
                    <data id="1">
                        <tag>blush</tag>
                        <tag>redness</tag>
                        <tag>embarrasement</tag>
                        <current_value maxValue="100" minValue="0">84.2</current_value>
                        <unit type="contextDependentUnits">blushesPerHour</unit>
                    </data>
                    <data id="2">
                        <tag>length</tag>
                        <tag>distance</tag>
                        <tag>extension</tag>
                        <current_value minValue="0">12.3</current_value>
                        <unit symbol="m" type="basicSI">meter</unit>
                    </data>
                </environment>
            </eeml>
            """),
                        final,
                        reporter=self.fail))