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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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))
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
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)