Extract Transformation.main to junit test.
[debian/openrocket] / core / src / net / sf / openrocket / unit / UnitGroup.java
index 6f6c503344ebb8a509249722f8c75f300ec60d36..88ab4a77fd11be5f57ed0a6d49bed6fb69373e10 100644 (file)
@@ -85,7 +85,7 @@ public class UnitGroup {
                UNITS_LENGTH.addUnit(new GeneralUnit(0.01, "cm"));
                UNITS_LENGTH.addUnit(new GeneralUnit(1, "m"));
                UNITS_LENGTH.addUnit(new GeneralUnit(0.0254, "in"));
-               UNITS_LENGTH.addUnit(new FractionalUnit(0.0254, "in/64", "in", 64, 1d/16d));
+               UNITS_LENGTH.addUnit(new FractionalUnit(0.0254, "in/64", "in", 64, 1d / 16d, 0.5d / 64d));
                UNITS_LENGTH.addUnit(new GeneralUnit(0.3048, "ft"));
                UNITS_LENGTH.setDefaultUnit(1);
                
@@ -162,6 +162,7 @@ public class UnitGroup {
                
                UNITS_DENSITY_BULK = new UnitGroup();
                UNITS_DENSITY_BULK.addUnit(new GeneralUnit(1000, "g/cm" + CUBED));
+               UNITS_DENSITY_BULK.addUnit(new GeneralUnit(1000, "kg/dm" + CUBED));
                UNITS_DENSITY_BULK.addUnit(new GeneralUnit(1, "kg/m" + CUBED));
                UNITS_DENSITY_BULK.addUnit(new GeneralUnit(1729.99404, "oz/in" + CUBED));
                UNITS_DENSITY_BULK.addUnit(new GeneralUnit(16.0184634, "lb/ft" + CUBED));
@@ -301,6 +302,7 @@ public class UnitGroup {
                UNITS_FLIGHT_TIME.setDefaultUnit("s");
                UNITS_ROLL.setDefaultUnit("r/s");
                UNITS_TEMPERATURE.setDefaultUnit(DEGREE + "C");
+               UNITS_WINDSPEED.setDefaultUnit("m/s");
                UNITS_PRESSURE.setDefaultUnit("mbar");
                UNITS_RELATIVE.setDefaultUnit("%");
                UNITS_ROUGHNESS.setDefaultUnit(MICRO + "m");
@@ -326,6 +328,7 @@ public class UnitGroup {
                UNITS_FLIGHT_TIME.setDefaultUnit("s");
                UNITS_ROLL.setDefaultUnit("r/s");
                UNITS_TEMPERATURE.setDefaultUnit(DEGREE + "F");
+               UNITS_WINDSPEED.setDefaultUnit("mph");
                UNITS_PRESSURE.setDefaultUnit("mbar");
                UNITS_RELATIVE.setDefaultUnit("%");
                UNITS_ROUGHNESS.setDefaultUnit("mil");
@@ -427,7 +430,7 @@ public class UnitGroup {
                throw new IllegalArgumentException("name=" + name);
        }
        
-       public Unit getUnit( String name ) throws IllegalArgumentException {
+       public Unit getUnit(String name) throws IllegalArgumentException {
                for (int i = 0; i < units.size(); i++) {
                        if (units.get(i).getUnit().equals(name)) {
                                return units.get(i);
@@ -456,6 +459,17 @@ public class UnitGroup {
                return units.toArray(new Unit[0]);
        }
        
+       /**
+        * Return the value in SI units from the default unit of this group.
+        * It is the same as calling <code>getDefaultUnit().fromUnit(value)</code>
+        * 
+        * @param value the default unit value to convert
+        * @return the value in SI units.
+        * @see Unit#fromUnit(double)
+        */
+       public double fromUnit( double value ) {
+               return this.getDefaultUnit().fromUnit(value);
+       }
        
        /**
         * Return the value formatted by the default unit of this group.