def test_convert_to(self): us = UnitSystem() Meter = us.new_dimension("Length", "Meter") Feet = us.add_unit("Feet", Meter / 3.208) Yard = us.add_unit("Yard", Feet * 3) self.assertUnitAlmostEqual(Feet(1), Feet(1).convert_to(Meter)) self.assertAlmostEqual(Feet(3), Yard(1)) self.assertAlmostEqual(Feet(3), Feet(1) * 3) self.assertAlmostEqual(Feet(3), 3 * Feet(1)) self.assertAlmostEqual(Feet(1), Feet(3) / 3) self.assertAlmostEqual(Feet(1), Feet(3) / 3)
def test_conversion(self): us = UnitSystem() Meter = us.new_dimension("Length", "Meter") Feet = us.add_unit("Feet", Meter / 3.208) Yard = us.add_unit("Yard", Feet * 3) f, m = Feet(3.208), Meter(1) print f.real_quantity, m.real_quantity self.assertAlmostEqual(f.real_quantity,m.real_quantity) self.assertUnitAlmostEqual(f,m) self.assertAlmostEqual(Feet(3), Yard(1)) self.assertAlmostEqual(Feet(3), Feet(1) * 3) self.assertAlmostEqual(Feet(3), 3 * Feet(1)) self.assertAlmostEqual(Feet(1), Feet(3) / 3) self.assertAlmostEqual(Feet(1), Feet(3) / 3)
import unittest from simple_units.base import (BaseDimension, _fill_relational_table, UnitSystem, InvalidType, InvalidExpressionException) us = UnitSystem() Meter = us.new_dimension("Length", "Meter") Second= us.new_dimension("Time", "Second") #Minute = Second.dimension.add_unit(60 * Second, "Minute") Length = Meter.dimension Meter_2 = us.add_derived_dimension(Length * Length, "Area", "Meter^2") print Meter(1) print Meter_2(1) Feet = us.add_unit("Feet", Meter / 3.208) print Meter(1), Meter(1).convert_to(Feet) class TestUnits(unittest.TestCase): def test_conversion(self): us = UnitSystem() Meter = us.new_dimension("Length", "Meter") Feet = us.add_unit("Feet", Meter / 3.208) Yard = us.add_unit("Yard", Feet * 3) f, m = Feet(3.208), Meter(1) print f.real_quantity, m.real_quantity self.assertAlmostEqual(f.real_quantity,m.real_quantity) self.assertUnitAlmostEqual(f,m) self.assertAlmostEqual(Feet(3), Yard(1)) self.assertAlmostEqual(Feet(3), Feet(1) * 3) self.assertAlmostEqual(Feet(3), 3 * Feet(1))