Ejemplo n.º 1
0
    def __init__(self, value=float()):
        """Create instance of the kelvin class.

        :param value: (optional, int or float)
        """

        super().__init__(name='Fahrenheit',
                         symbol='°F',
                         to_base=Conversion(5 / 9, -160 / 9),
                         from_base=Conversion(1.8, 32),
                         value=value)
Ejemplo n.º 2
0
    def __init__(self, value=float()):
        """Create instance of the Ton class.

        :param value: (optional, int or float) the amount of days
        """

        super().__init__(name='Ton', symbol='ton (UK)', to_base=Conversion(1016.047), value=value)
Ejemplo n.º 3
0
    def __init__(self, value=float()):
        """Create instance of the Seconds class.

        :param value: (optional, int or float) the amount of years
        """

        super().__init__(name='Seconds', symbol='s', to_base=Conversion(1 / 86400), value=value)
Ejemplo n.º 4
0
    def __init__(self, value=float()):
        """Create instance of the Minute class.

        :param value: (optional, int or float) the amount of years
        """

        super().__init__(name='Minute', symbol='min', to_base=Conversion(1 / 1440), value=value)
Ejemplo n.º 5
0
    def __init__(self, value=float()):
        """Create instance of the Week class.

        :param value: (optional, int or float) the amount of weeks
        """

        super().__init__(name='Week', symbol='w', to_base=Conversion(7), value=value)
Ejemplo n.º 6
0
    def __init__(self, value=float()):
        """Create instance of the Hour class.

        :param value: (optional, int or float) the amount of years
        """

        super().__init__(name='Hour', symbol='h', to_base=Conversion(1 / 24), value=value)
Ejemplo n.º 7
0
    def __init__(self, value=float()):
        """Create instance of the Mole class.

        :param value: (optional, int or float) the amount of Moles
        """

        super().__init__(name='Mole', symbol='mol', to_base=Conversion(), value=value)
Ejemplo n.º 8
0
    def __init__(self, value=float()):
        """Create instance of the Day class.

        :param value: (optional, int or float) the amount of days
        """

        super().__init__(name='Day', symbol='d', to_base=Conversion(), value=value)
Ejemplo n.º 9
0
    def __init__(self, value=float()):
        """Create instance of the Tonne class.

        :param value: (optional, int or float) the amount of days
        """

        super().__init__(name='Ounce', symbol='oz', to_base=Conversion(0.02834952), value=value)
Ejemplo n.º 10
0
    def __init__(self, value=float()):
        """Create instance of the Tonne class.

        :param value: (optional, int or float) the amount of days
        """

        super().__init__(name='Pound', symbol='lbs', to_base=Conversion(0.45359237), value=value)
Ejemplo n.º 11
0
    def __init__(self, value=float()):
        """Create instance of the kelvin class.

        :param value: (optional, int or float)
        """

        super().__init__(name='Kelvin',
                         symbol='K',
                         to_base=Conversion(1, -273.15),
                         value=value)
Ejemplo n.º 12
0
    def __init__(self, value=float()):
        """Create instance of the Candela class.

        :param value: (optional, int or float) the amount of Candela
        """

        super().__init__(name='Candela',
                         symbol='cd',
                         to_base=Conversion(),
                         value=value)
Ejemplo n.º 13
0
    def __init__(self, value=float()):
        """Create instance of the meter class.

        :param value: (optional, int or float
        """

        super().__init__(name='Inch',
                         symbol='inch',
                         to_base=Conversion(0.0254),
                         value=value)
Ejemplo n.º 14
0
    def __init__(self, value=float()):
        """Create instance of the meter class.

        :param value: (optional, int or float
        """

        super().__init__(name='Yard',
                         symbol='yrd',
                         to_base=Conversion(0.914399909),
                         value=value)
Ejemplo n.º 15
0
    def test_invert(self):
        """Tests the invert functionality."""

        # non zero
        conv = Conversion(factor=2, offset=3)
        conv_inv = copy.copy(conv).__invert__()

        self.assertEqual(conv_inv.factor, 1 / conv.factor)
        self.assertEqual(conv_inv.offset, -conv.offset / conv.factor)

        # zero factpr
        conv = Conversion(factor=0, offset=1)
        conv_inv = copy.copy(conv).__invert__()

        self.assertEqual(conv_inv.factor, 0)
        self.assertEqual(conv_inv.offset, -conv.offset)

        # zero offset
        conv = Conversion(factor=2, offset=0)
        conv_inv = copy.copy(conv).__invert__()

        self.assertEqual(conv_inv.factor, 1 / conv.factor)
        self.assertEqual(conv_inv.offset, 0)
Ejemplo n.º 16
0
    def test_general(self):
        """Test some general behaviour of the Length superclass"""

        conv = Conversion(factor=2, offset=3)

        # __eq__
        self.assertTrue(conv == Conversion(factor=2, offset=3))
        self.assertFalse(conv == Conversion(factor=1, offset=3))
        self.assertFalse(conv == Conversion(factor=2, offset=2))
        self.assertFalse(conv == 1)

        # __ne__
        self.assertFalse(conv != Conversion(factor=2, offset=3))
        self.assertTrue(conv != Conversion(factor=1, offset=3))
        self.assertTrue(conv != Conversion(factor=2, offset=2))
        self.assertTrue(conv != 1)

        # __copy__
        self.assertEqual(conv, copy.deepcopy(conv))

        # __deeepcopy__
        self.assertEqual(conv, copy.copy(conv))
Ejemplo n.º 17
0
class Candela(Luminous):
    """A Candela. You know. The luminous intensity, in a given direction, 
    of a source that emits monochromatic radiation of frequency 540 × 1012 hertz 
    and that has a radiant intensity in that direction of 1/683 watts per steridian."""
    def __init__(self, value=float()):
        """Create instance of the Candela class.

        :param value: (optional, int or float) the amount of Candela
        """

        super().__init__(name='Candela',
                         symbol='cd',
                         to_base=Conversion(),
                         value=value)


# define all SI derives of lengths
for name, symbol, base10 in SI_PREFIXES:
    class_name = '{}Candela'.format(name)

    # generate the new class
    generatedClass = class_factory(BaseClass=Luminous,
                                   name=class_name,
                                   symbol=symbol,
                                   to_base=Conversion(base10))
    # register the class to the module
    globals()[generatedClass.__name__] = generatedClass
    # get rid of the temporary stuff
    del generatedClass
Ejemplo n.º 18
0
    def test_convert(self):
        """Tests the convert method."""

        # both positive
        conv = Conversion(factor=2, offset=3)
        self.assertEqual(conv.convert(4), 11)
        self.assertEqual(conv.convert(4.5), 12)
        self.assertEqual(conv.convert(0), 3)
        self.assertEqual(conv.convert(-4), -5)
        self.assertEqual(conv.convert(-4.5), -6)

        # factor negative
        conv = Conversion(factor=-2, offset=3)
        self.assertEqual(conv.convert(4), -5)
        self.assertEqual(conv.convert(4.5), -6)
        self.assertEqual(conv.convert(0), 3)
        self.assertEqual(conv.convert(-4), 11)
        self.assertEqual(conv.convert(-4.5), 12)

        # offset negative
        conv = Conversion(factor=2, offset=-3)
        self.assertEqual(conv.convert(4), 5)
        self.assertEqual(conv.convert(4.5), 6)
        self.assertEqual(conv.convert(0), -3)
        self.assertEqual(conv.convert(-4), -11)
        self.assertEqual(conv.convert(-4.5), -12)

        # both negative
        conv = Conversion(factor=-2, offset=-3)
        self.assertEqual(conv.convert(4), -11)
        self.assertEqual(conv.convert(4.5), -12)
        self.assertEqual(conv.convert(0), -3)
        self.assertEqual(conv.convert(-4), 5)
        self.assertEqual(conv.convert(-4.5), 6)

        # factor 0
        conv = Conversion(factor=0, offset=3)
        self.assertEqual(conv.convert(4), 3)
        self.assertEqual(conv.convert(4.5), 3)
        self.assertEqual(conv.convert(0), 3)
        self.assertEqual(conv.convert(-4), 3)
        self.assertEqual(conv.convert(-4.5), 3)

        # offset 0
        conv = Conversion(factor=2, offset=0)
        self.assertEqual(conv.convert(4), 8)
        self.assertEqual(conv.convert(4.5), 9)
        self.assertEqual(conv.convert(0), 0)
        self.assertEqual(conv.convert(-4), -8)
        self.assertEqual(conv.convert(-4.5), -9)

        # both 0
        conv = Conversion(factor=0, offset=0)
        self.assertEqual(conv.convert(4), 0)
        self.assertEqual(conv.convert(4.5), 0)
        self.assertEqual(conv.convert(0), 0)
        self.assertEqual(conv.convert(-4), 0)
        self.assertEqual(conv.convert(-4.5), 0)