diff options
author | Adrien Hopkins <ahopk127@my.yorku.ca> | 2021-08-26 15:09:23 -0400 |
---|---|---|
committer | Adrien Hopkins <ahopk127@my.yorku.ca> | 2021-08-26 15:09:23 -0400 |
commit | 816f744169d1ecdb689aba27cb396ab452fdc3fe (patch) | |
tree | 1eed1edbbf6f3131dfb6a26c1480d023e44f6c51 /src | |
parent | 236b497f516694929b9fe409508a7cce21ca9e6e (diff) | |
parent | 75a5a1a2a40b0eb4361d6fc046eb8918ef6f5292 (diff) |
Merge branch 'new-documentation-0.3.1' into develop
Diffstat (limited to 'src')
27 files changed, 186 insertions, 189 deletions
diff --git a/src/main/java/sevenUnits/converterGUI/DefaultPrefixRepetitionRule.java b/src/main/java/sevenUnits/converterGUI/DefaultPrefixRepetitionRule.java index 835651e..6b6abf0 100644 --- a/src/main/java/sevenUnits/converterGUI/DefaultPrefixRepetitionRule.java +++ b/src/main/java/sevenUnits/converterGUI/DefaultPrefixRepetitionRule.java @@ -6,7 +6,7 @@ package sevenUnits.converterGUI; import java.util.List; import java.util.function.Predicate; -import sevenUnits.unit.SI; +import sevenUnits.unit.Metric; import sevenUnits.unit.UnitPrefix; /** @@ -49,7 +49,7 @@ enum DefaultPrefixRepetitionRule implements Predicate<List<UnitPrefix>> { // if the first prefix is non-metric (including binary prefixes), // assume we are using non-metric prefixes // non-metric prefixes are allowed, but can't be repeated. - if (!SI.DECIMAL_PREFIXES.contains(prefixes.get(0))) + if (!Metric.DECIMAL_PREFIXES.contains(prefixes.get(0))) return NO_REPETITION.test(prefixes); int part = 0; // 0=yotta/yoctos, 1=kilo-zetta/milli-zepto, @@ -58,7 +58,7 @@ enum DefaultPrefixRepetitionRule implements Predicate<List<UnitPrefix>> { for (final UnitPrefix prefix : prefixes) { // check that the current prefix is metric and appropriately // magnifying/reducing - if (!SI.DECIMAL_PREFIXES.contains(prefix)) + if (!Metric.DECIMAL_PREFIXES.contains(prefix)) return false; if (magnifying != prefix.getMultiplier() > 1) return false; @@ -72,7 +72,7 @@ enum DefaultPrefixRepetitionRule implements Predicate<List<UnitPrefix>> { break; case 1: // after a kilo-zetta, only deka/hecto are valid - if (SI.THOUSAND_PREFIXES.contains(prefix)) + if (Metric.THOUSAND_PREFIXES.contains(prefix)) return false; break; case 2: @@ -81,9 +81,9 @@ enum DefaultPrefixRepetitionRule implements Predicate<List<UnitPrefix>> { } // set part - if (SI.YOTTA.equals(prefix) || SI.YOCTO.equals(prefix)) { + if (Metric.YOTTA.equals(prefix) || Metric.YOCTO.equals(prefix)) { part = 0; - } else if (SI.THOUSAND_PREFIXES.contains(prefix)) { + } else if (Metric.THOUSAND_PREFIXES.contains(prefix)) { part = 1; } else { part = 2; diff --git a/src/main/java/sevenUnits/converterGUI/SevenUnitsGUI.java b/src/main/java/sevenUnits/converterGUI/SevenUnitsGUI.java index fb498da..bfd5974 100644 --- a/src/main/java/sevenUnits/converterGUI/SevenUnitsGUI.java +++ b/src/main/java/sevenUnits/converterGUI/SevenUnitsGUI.java @@ -65,18 +65,18 @@ import javax.swing.WindowConstants; import javax.swing.border.TitledBorder; import sevenUnits.ProgramInfo; -import sevenUnits.math.ConditionalExistenceCollections; -import sevenUnits.math.ObjectProduct; import sevenUnits.unit.BaseDimension; import sevenUnits.unit.BritishImperial; import sevenUnits.unit.LinearUnit; import sevenUnits.unit.LinearUnitValue; import sevenUnits.unit.NameSymbol; -import sevenUnits.unit.SI; +import sevenUnits.unit.Metric; import sevenUnits.unit.Unit; import sevenUnits.unit.UnitDatabase; import sevenUnits.unit.UnitPrefix; import sevenUnits.unit.UnitValue; +import sevenUnits.utils.ConditionalExistenceCollections; +import sevenUnits.utils.ObjectProduct; /** * @author Adrien Hopkins @@ -110,25 +110,25 @@ final class SevenUnitsGUI { * @since v0.2.0 */ private static void addDefaults(final UnitDatabase database) { - database.addUnit("metre", SI.METRE); - database.addUnit("kilogram", SI.KILOGRAM); - database.addUnit("gram", SI.KILOGRAM.dividedBy(1000)); - database.addUnit("second", SI.SECOND); - database.addUnit("ampere", SI.AMPERE); - database.addUnit("kelvin", SI.KELVIN); - database.addUnit("mole", SI.MOLE); - database.addUnit("candela", SI.CANDELA); - database.addUnit("bit", SI.BIT); - database.addUnit("unit", SI.ONE); + database.addUnit("metre", Metric.METRE); + database.addUnit("kilogram", Metric.KILOGRAM); + database.addUnit("gram", Metric.KILOGRAM.dividedBy(1000)); + database.addUnit("second", Metric.SECOND); + database.addUnit("ampere", Metric.AMPERE); + database.addUnit("kelvin", Metric.KELVIN); + database.addUnit("mole", Metric.MOLE); + database.addUnit("candela", Metric.CANDELA); + database.addUnit("bit", Metric.BIT); + database.addUnit("unit", Metric.ONE); // nonlinear units - must be loaded manually - database.addUnit("tempCelsius", SI.CELSIUS); + database.addUnit("tempCelsius", Metric.CELSIUS); database.addUnit("tempFahrenheit", BritishImperial.FAHRENHEIT); // load initial dimensions - database.addDimension("LENGTH", SI.Dimensions.LENGTH); - database.addDimension("MASS", SI.Dimensions.MASS); - database.addDimension("TIME", SI.Dimensions.TIME); - database.addDimension("TEMPERATURE", SI.Dimensions.TEMPERATURE); + database.addDimension("LENGTH", Metric.Dimensions.LENGTH); + database.addDimension("MASS", Metric.Dimensions.MASS); + database.addDimension("TIME", Metric.Dimensions.TIME); + database.addDimension("TEMPERATURE", Metric.Dimensions.TEMPERATURE); } /** diff --git a/src/main/java/sevenUnits/unit/BaseUnit.java b/src/main/java/sevenUnits/unit/BaseUnit.java index b1e30fb..ee2c277 100644 --- a/src/main/java/sevenUnits/unit/BaseUnit.java +++ b/src/main/java/sevenUnits/unit/BaseUnit.java @@ -75,7 +75,7 @@ public final class BaseUnit extends Unit { */ private BaseUnit(final BaseDimension dimension, final String primaryName, final String symbol, final Set<String> otherNames) { - super(primaryName, symbol, otherNames); + super(NameSymbol.of(primaryName, symbol, otherNames)); this.dimension = Objects.requireNonNull(dimension, "dimension must not be null."); } diff --git a/src/main/java/sevenUnits/unit/BritishImperial.java b/src/main/java/sevenUnits/unit/BritishImperial.java index 63da7f0..81a3f2a 100644 --- a/src/main/java/sevenUnits/unit/BritishImperial.java +++ b/src/main/java/sevenUnits/unit/BritishImperial.java @@ -48,7 +48,7 @@ public final class BritishImperial { /** * According to the International Yard and Pound of 1959, a yard is defined as exactly 0.9144 metres. */ - public static final LinearUnit YARD = SI.METRE.times(0.9144); + public static final LinearUnit YARD = Metric.METRE.times(0.9144); public static final LinearUnit FOOT = YARD.dividedBy(3); public static final LinearUnit INCH = FOOT.dividedBy(12); public static final LinearUnit THOU = INCH.dividedBy(1000); @@ -57,7 +57,7 @@ public final class BritishImperial { public static final LinearUnit MILE = FURLONG.times(8); public static final LinearUnit LEAGUE = MILE.times(3); - public static final LinearUnit NAUTICAL_MILE = SI.METRE.times(1852); + public static final LinearUnit NAUTICAL_MILE = Metric.METRE.times(1852); public static final LinearUnit CABLE = NAUTICAL_MILE.dividedBy(10); public static final LinearUnit FATHOM = CABLE.dividedBy(100); @@ -72,7 +72,7 @@ public final class BritishImperial { * @since 2019-11-08 */ public static final class Mass { - public static final LinearUnit POUND = SI.GRAM.times(453.59237); + public static final LinearUnit POUND = Metric.GRAM.times(453.59237); public static final LinearUnit OUNCE = POUND.dividedBy(16); public static final LinearUnit DRACHM = POUND.dividedBy(256); public static final LinearUnit GRAIN = POUND.dividedBy(7000); @@ -80,7 +80,7 @@ public final class BritishImperial { public static final LinearUnit QUARTER = STONE.times(2); public static final LinearUnit HUNDREDWEIGHT = QUARTER.times(4); public static final LinearUnit LONG_TON = HUNDREDWEIGHT.times(20); - public static final LinearUnit SLUG = SI.KILOGRAM.times(14.59390294); + public static final LinearUnit SLUG = Metric.KILOGRAM.times(14.59390294); } /** @@ -90,7 +90,7 @@ public final class BritishImperial { * @since 2019-11-08 */ public static final class Volume { - public static final LinearUnit FLUID_OUNCE = SI.LITRE.withPrefix(SI.MILLI).times(28.4130625); + public static final LinearUnit FLUID_OUNCE = Metric.LITRE.withPrefix(Metric.MILLI).times(28.4130625); public static final LinearUnit GILL = FLUID_OUNCE.times(5); public static final LinearUnit PINT = FLUID_OUNCE.times(20); public static final LinearUnit QUART = PINT.times(2); @@ -104,13 +104,13 @@ public final class BritishImperial { public static final LinearUnit ACRE_FOOT = Area.ACRE.times(Length.FOOT); } - public static final LinearUnit OUNCE_FORCE = Mass.OUNCE.times(SI.Constants.EARTH_GRAVITY); - public static final LinearUnit POUND_FORCE = Mass.POUND.times(SI.Constants.EARTH_GRAVITY); + public static final LinearUnit OUNCE_FORCE = Mass.OUNCE.times(Metric.Constants.EARTH_GRAVITY); + public static final LinearUnit POUND_FORCE = Mass.POUND.times(Metric.Constants.EARTH_GRAVITY); - public static final LinearUnit BRITISH_THERMAL_UNIT = SI.JOULE.times(1055.06); - public static final LinearUnit CALORIE = SI.JOULE.times(4.184); - public static final LinearUnit KILOCALORIE = SI.JOULE.times(4184); + public static final LinearUnit BRITISH_THERMAL_UNIT = Metric.JOULE.times(1055.06); + public static final LinearUnit CALORIE = Metric.JOULE.times(4.184); + public static final LinearUnit KILOCALORIE = Metric.JOULE.times(4184); - public static final Unit FAHRENHEIT = Unit.fromConversionFunctions(SI.KELVIN.getBase(), + public static final Unit FAHRENHEIT = Unit.fromConversionFunctions(Metric.KELVIN.getBase(), tempK -> tempK * 1.8 - 459.67, tempF -> (tempF + 459.67) / 1.8); } diff --git a/src/main/java/sevenUnits/unit/FunctionalUnit.java b/src/main/java/sevenUnits/unit/FunctionalUnit.java index 7bacc9d..df457e4 100644 --- a/src/main/java/sevenUnits/unit/FunctionalUnit.java +++ b/src/main/java/sevenUnits/unit/FunctionalUnit.java @@ -19,7 +19,7 @@ package sevenUnits.unit; import java.util.Objects; import java.util.function.DoubleUnaryOperator; -import sevenUnits.math.ObjectProduct; +import sevenUnits.utils.ObjectProduct; /** * A unit that uses functional objects to convert to and from its base. diff --git a/src/main/java/sevenUnits/unit/FunctionalUnitlike.java b/src/main/java/sevenUnits/unit/FunctionalUnitlike.java index 61503e8..2ee9e19 100644 --- a/src/main/java/sevenUnits/unit/FunctionalUnitlike.java +++ b/src/main/java/sevenUnits/unit/FunctionalUnitlike.java @@ -19,7 +19,7 @@ package sevenUnits.unit; import java.util.function.DoubleFunction; import java.util.function.ToDoubleFunction; -import sevenUnits.math.ObjectProduct; +import sevenUnits.utils.ObjectProduct; /** * A unitlike form that converts using two conversion functions. diff --git a/src/main/java/sevenUnits/unit/LinearUnit.java b/src/main/java/sevenUnits/unit/LinearUnit.java index 7c46443..25c2e2e 100644 --- a/src/main/java/sevenUnits/unit/LinearUnit.java +++ b/src/main/java/sevenUnits/unit/LinearUnit.java @@ -18,9 +18,9 @@ package sevenUnits.unit; import java.util.Objects; -import sevenUnits.math.DecimalComparison; -import sevenUnits.math.ObjectProduct; -import sevenUnits.math.UncertainDouble; +import sevenUnits.utils.DecimalComparison; +import sevenUnits.utils.ObjectProduct; +import sevenUnits.utils.UncertainDouble; /** * A unit that can be expressed as a product of its base and a number. For diff --git a/src/main/java/sevenUnits/unit/LinearUnitValue.java b/src/main/java/sevenUnits/unit/LinearUnitValue.java index 687a8b4..a36d568 100644 --- a/src/main/java/sevenUnits/unit/LinearUnitValue.java +++ b/src/main/java/sevenUnits/unit/LinearUnitValue.java @@ -19,8 +19,8 @@ package sevenUnits.unit; import java.util.Objects; import java.util.Optional; -import sevenUnits.math.DecimalComparison; -import sevenUnits.math.UncertainDouble; +import sevenUnits.utils.DecimalComparison; +import sevenUnits.utils.UncertainDouble; /** * A possibly uncertain value expressed in a linear unit. @@ -32,7 +32,7 @@ import sevenUnits.math.UncertainDouble; * @since 2020-07-26 */ public final class LinearUnitValue { - public static final LinearUnitValue ONE = getExact(SI.ONE, 1); + public static final LinearUnitValue ONE = getExact(Metric.ONE, 1); /** * Gets an exact {@code LinearUnitValue} diff --git a/src/main/java/sevenUnits/unit/SI.java b/src/main/java/sevenUnits/unit/Metric.java index e0e5a54..3c4d291 100644 --- a/src/main/java/sevenUnits/unit/SI.java +++ b/src/main/java/sevenUnits/unit/Metric.java @@ -18,7 +18,7 @@ package sevenUnits.unit; import java.util.Set; -import sevenUnits.math.ObjectProduct; +import sevenUnits.utils.ObjectProduct; /** * All of the units, prefixes and dimensions that are used by the SI, as well as @@ -36,7 +36,7 @@ import sevenUnits.math.ObjectProduct; * @author Adrien Hopkins * @since 2019-10-16 */ -public final class SI { +public final class Metric { /// dimensions used by SI units // base dimensions, as BaseDimensions public static final class BaseDimensions { @@ -402,57 +402,57 @@ public final class SI { .withName(NameSymbol.of("exbi", "Ei")); // a few prefixed units - public static final LinearUnit MICROMETRE = SI.METRE.withPrefix(SI.MICRO); - public static final LinearUnit MILLIMETRE = SI.METRE.withPrefix(SI.MILLI); - public static final LinearUnit KILOMETRE = SI.METRE.withPrefix(SI.KILO); - public static final LinearUnit MEGAMETRE = SI.METRE.withPrefix(SI.MEGA); + public static final LinearUnit MICROMETRE = Metric.METRE.withPrefix(Metric.MICRO); + public static final LinearUnit MILLIMETRE = Metric.METRE.withPrefix(Metric.MILLI); + public static final LinearUnit KILOMETRE = Metric.METRE.withPrefix(Metric.KILO); + public static final LinearUnit MEGAMETRE = Metric.METRE.withPrefix(Metric.MEGA); - public static final LinearUnit MICROLITRE = SI.LITRE.withPrefix(SI.MICRO); - public static final LinearUnit MILLILITRE = SI.LITRE.withPrefix(SI.MILLI); - public static final LinearUnit KILOLITRE = SI.LITRE.withPrefix(SI.KILO); - public static final LinearUnit MEGALITRE = SI.LITRE.withPrefix(SI.MEGA); + public static final LinearUnit MICROLITRE = Metric.LITRE.withPrefix(Metric.MICRO); + public static final LinearUnit MILLILITRE = Metric.LITRE.withPrefix(Metric.MILLI); + public static final LinearUnit KILOLITRE = Metric.LITRE.withPrefix(Metric.KILO); + public static final LinearUnit MEGALITRE = Metric.LITRE.withPrefix(Metric.MEGA); - public static final LinearUnit MICROSECOND = SI.SECOND.withPrefix(SI.MICRO); - public static final LinearUnit MILLISECOND = SI.SECOND.withPrefix(SI.MILLI); - public static final LinearUnit KILOSECOND = SI.SECOND.withPrefix(SI.KILO); - public static final LinearUnit MEGASECOND = SI.SECOND.withPrefix(SI.MEGA); + public static final LinearUnit MICROSECOND = Metric.SECOND.withPrefix(Metric.MICRO); + public static final LinearUnit MILLISECOND = Metric.SECOND.withPrefix(Metric.MILLI); + public static final LinearUnit KILOSECOND = Metric.SECOND.withPrefix(Metric.KILO); + public static final LinearUnit MEGASECOND = Metric.SECOND.withPrefix(Metric.MEGA); - public static final LinearUnit MICROGRAM = SI.GRAM.withPrefix(SI.MICRO); - public static final LinearUnit MILLIGRAM = SI.GRAM.withPrefix(SI.MILLI); - public static final LinearUnit MEGAGRAM = SI.GRAM.withPrefix(SI.MEGA); + public static final LinearUnit MICROGRAM = Metric.GRAM.withPrefix(Metric.MICRO); + public static final LinearUnit MILLIGRAM = Metric.GRAM.withPrefix(Metric.MILLI); + public static final LinearUnit MEGAGRAM = Metric.GRAM.withPrefix(Metric.MEGA); - public static final LinearUnit MICRONEWTON = SI.NEWTON.withPrefix(SI.MICRO); - public static final LinearUnit MILLINEWTON = SI.NEWTON.withPrefix(SI.MILLI); - public static final LinearUnit KILONEWTON = SI.NEWTON.withPrefix(SI.KILO); - public static final LinearUnit MEGANEWTON = SI.NEWTON.withPrefix(SI.MEGA); + public static final LinearUnit MICRONEWTON = Metric.NEWTON.withPrefix(Metric.MICRO); + public static final LinearUnit MILLINEWTON = Metric.NEWTON.withPrefix(Metric.MILLI); + public static final LinearUnit KILONEWTON = Metric.NEWTON.withPrefix(Metric.KILO); + public static final LinearUnit MEGANEWTON = Metric.NEWTON.withPrefix(Metric.MEGA); - public static final LinearUnit MICROJOULE = SI.JOULE.withPrefix(SI.MICRO); - public static final LinearUnit MILLIJOULE = SI.JOULE.withPrefix(SI.MILLI); - public static final LinearUnit KILOJOULE = SI.JOULE.withPrefix(SI.KILO); - public static final LinearUnit MEGAJOULE = SI.JOULE.withPrefix(SI.MEGA); + public static final LinearUnit MICROJOULE = Metric.JOULE.withPrefix(Metric.MICRO); + public static final LinearUnit MILLIJOULE = Metric.JOULE.withPrefix(Metric.MILLI); + public static final LinearUnit KILOJOULE = Metric.JOULE.withPrefix(Metric.KILO); + public static final LinearUnit MEGAJOULE = Metric.JOULE.withPrefix(Metric.MEGA); - public static final LinearUnit MICROWATT = SI.WATT.withPrefix(SI.MICRO); - public static final LinearUnit MILLIWATT = SI.WATT.withPrefix(SI.MILLI); - public static final LinearUnit KILOWATT = SI.WATT.withPrefix(SI.KILO); - public static final LinearUnit MEGAWATT = SI.WATT.withPrefix(SI.MEGA); + public static final LinearUnit MICROWATT = Metric.WATT.withPrefix(Metric.MICRO); + public static final LinearUnit MILLIWATT = Metric.WATT.withPrefix(Metric.MILLI); + public static final LinearUnit KILOWATT = Metric.WATT.withPrefix(Metric.KILO); + public static final LinearUnit MEGAWATT = Metric.WATT.withPrefix(Metric.MEGA); - public static final LinearUnit MICROCOULOMB = SI.COULOMB - .withPrefix(SI.MICRO); - public static final LinearUnit MILLICOULOMB = SI.COULOMB - .withPrefix(SI.MILLI); - public static final LinearUnit KILOCOULOMB = SI.COULOMB.withPrefix(SI.KILO); - public static final LinearUnit MEGACOULOMB = SI.COULOMB.withPrefix(SI.MEGA); + public static final LinearUnit MICROCOULOMB = Metric.COULOMB + .withPrefix(Metric.MICRO); + public static final LinearUnit MILLICOULOMB = Metric.COULOMB + .withPrefix(Metric.MILLI); + public static final LinearUnit KILOCOULOMB = Metric.COULOMB.withPrefix(Metric.KILO); + public static final LinearUnit MEGACOULOMB = Metric.COULOMB.withPrefix(Metric.MEGA); - public static final LinearUnit MICROAMPERE = SI.AMPERE.withPrefix(SI.MICRO); - public static final LinearUnit MILLIAMPERE = SI.AMPERE.withPrefix(SI.MILLI); + public static final LinearUnit MICROAMPERE = Metric.AMPERE.withPrefix(Metric.MICRO); + public static final LinearUnit MILLIAMPERE = Metric.AMPERE.withPrefix(Metric.MILLI); - public static final LinearUnit MICROVOLT = SI.VOLT.withPrefix(SI.MICRO); - public static final LinearUnit MILLIVOLT = SI.VOLT.withPrefix(SI.MILLI); - public static final LinearUnit KILOVOLT = SI.VOLT.withPrefix(SI.KILO); - public static final LinearUnit MEGAVOLT = SI.VOLT.withPrefix(SI.MEGA); + public static final LinearUnit MICROVOLT = Metric.VOLT.withPrefix(Metric.MICRO); + public static final LinearUnit MILLIVOLT = Metric.VOLT.withPrefix(Metric.MILLI); + public static final LinearUnit KILOVOLT = Metric.VOLT.withPrefix(Metric.KILO); + public static final LinearUnit MEGAVOLT = Metric.VOLT.withPrefix(Metric.MEGA); - public static final LinearUnit KILOOHM = SI.OHM.withPrefix(SI.KILO); - public static final LinearUnit MEGAOHM = SI.OHM.withPrefix(SI.MEGA); + public static final LinearUnit KILOOHM = Metric.OHM.withPrefix(Metric.KILO); + public static final LinearUnit MEGAOHM = Metric.OHM.withPrefix(Metric.MEGA); // sets of prefixes public static final Set<UnitPrefix> ALL_PREFIXES = Set.of(DEKA, HECTO, KILO, @@ -473,7 +473,7 @@ public final class SI { MILLI, MICRO, NANO, PICO, FEMTO, ATTO, ZEPTO, YOCTO); // You may NOT get SI instances! - private SI() { + private Metric() { throw new AssertionError(); } } diff --git a/src/main/java/sevenUnits/unit/MultiUnit.java b/src/main/java/sevenUnits/unit/MultiUnit.java index 014e055..83cdb03 100644 --- a/src/main/java/sevenUnits/unit/MultiUnit.java +++ b/src/main/java/sevenUnits/unit/MultiUnit.java @@ -20,7 +20,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import sevenUnits.math.ObjectProduct; +import sevenUnits.utils.ObjectProduct; /** * A combination of units, like "5 foot + 7 inch". All but the last units should diff --git a/src/main/java/sevenUnits/unit/USCustomary.java b/src/main/java/sevenUnits/unit/USCustomary.java index 76356c0..459071f 100644 --- a/src/main/java/sevenUnits/unit/USCustomary.java +++ b/src/main/java/sevenUnits/unit/USCustomary.java @@ -52,7 +52,7 @@ public final class USCustomary { public static final LinearUnit YARD = BritishImperial.Length.YARD; public static final LinearUnit MILE = BritishImperial.Length.MILE; - public static final LinearUnit SURVEY_FOOT = SI.METRE.times(1200.0 / 3937.0); + public static final LinearUnit SURVEY_FOOT = Metric.METRE.times(1200.0 / 3937.0); public static final LinearUnit SURVEY_LINK = SURVEY_FOOT.times(33.0 / 50.0); public static final LinearUnit SURVEY_ROD = SURVEY_FOOT.times(16.5); public static final LinearUnit SURVEY_CHAIN = SURVEY_ROD.times(4); @@ -97,7 +97,7 @@ public final class USCustomary { public static final LinearUnit CUBIC_YARD = Length.YARD.toExponent(3); public static final LinearUnit ACRE_FOOT = Area.ACRE.times(Length.FOOT); - public static final LinearUnit MINIM = SI.LITRE.withPrefix(SI.MICRO).times(61.611519921875); + public static final LinearUnit MINIM = Metric.LITRE.withPrefix(Metric.MICRO).times(61.611519921875); public static final LinearUnit FLUID_DRAM = MINIM.times(60); public static final LinearUnit TEASPOON = MINIM.times(80); public static final LinearUnit TABLESPOON = TEASPOON.times(3); @@ -112,7 +112,7 @@ public final class USCustomary { public static final LinearUnit OIL_BARREL = GALLON.times(42); public static final LinearUnit HOGSHEAD = GALLON.times(63); - public static final LinearUnit DRY_PINT = SI.LITRE.times(0.5506104713575); + public static final LinearUnit DRY_PINT = Metric.LITRE.times(0.5506104713575); public static final LinearUnit DRY_QUART = DRY_PINT.times(2); public static final LinearUnit DRY_GALLON = DRY_QUART.times(4); public static final LinearUnit PECK = DRY_GALLON.times(2); @@ -128,7 +128,7 @@ public final class USCustomary { public static final LinearUnit KILOCALORIE = BritishImperial.KILOCALORIE; public static final LinearUnit FOOT_POUND = POUND_FORCE.times(Length.FOOT); - public static final LinearUnit HORSEPOWER = Length.FOOT.times(POUND_FORCE).dividedBy(SI.MINUTE).times(33000); + public static final LinearUnit HORSEPOWER = Length.FOOT.times(POUND_FORCE).dividedBy(Metric.MINUTE).times(33000); public static final LinearUnit POUND_PER_SQUARE_INCH = POUND_FORCE.dividedBy(Length.INCH.toExponent(2)); public static final Unit FAHRENHEIT = BritishImperial.FAHRENHEIT; diff --git a/src/main/java/sevenUnits/unit/Unit.java b/src/main/java/sevenUnits/unit/Unit.java index 1e875af..005b6f7 100644 --- a/src/main/java/sevenUnits/unit/Unit.java +++ b/src/main/java/sevenUnits/unit/Unit.java @@ -17,14 +17,12 @@ package sevenUnits.unit; import java.util.HashMap; -import java.util.HashSet; import java.util.Map; import java.util.Objects; -import java.util.Set; import java.util.function.DoubleUnaryOperator; -import sevenUnits.math.DecimalComparison; -import sevenUnits.math.ObjectProduct; +import sevenUnits.utils.DecimalComparison; +import sevenUnits.utils.ObjectProduct; /** * A unit that is composed of base units. @@ -110,6 +108,19 @@ public abstract class Unit implements Nameable { private transient ObjectProduct<BaseDimension> dimension = null; /** + * A constructor that constructs {@code BaseUnit} instances. + * + * @since 2019-10-16 + */ + Unit(final NameSymbol nameSymbol) { + if (this instanceof BaseUnit) { + this.unitBase = ObjectProduct.oneOf((BaseUnit) this); + } else + throw new AssertionError(); + this.nameSymbol = nameSymbol; + } + + /** * Creates the {@code Unit}. * * @param unitBase base of unit @@ -117,28 +128,13 @@ public abstract class Unit implements Nameable { * @since 2019-10-16 * @throws NullPointerException if unitBase or ns is null */ - Unit(ObjectProduct<BaseUnit> unitBase, NameSymbol ns) { + protected Unit(ObjectProduct<BaseUnit> unitBase, NameSymbol ns) { this.unitBase = Objects.requireNonNull(unitBase, "unitBase may not be null"); this.nameSymbol = Objects.requireNonNull(ns, "ns may not be null"); } /** - * A constructor that constructs {@code BaseUnit} instances. - * - * @since 2019-10-16 - */ - Unit(final String primaryName, final String symbol, - final Set<String> otherNames) { - if (this instanceof BaseUnit) { - this.unitBase = ObjectProduct.oneOf((BaseUnit) this); - } else - throw new AssertionError(); - this.nameSymbol = NameSymbol.of(primaryName, symbol, - new HashSet<>(otherNames)); - } - - /** * @return this unit as a {@link Unitlike} * @since 2020-09-07 */ @@ -342,7 +338,7 @@ public abstract class Unit implements Nameable { // second condition - check that for (final BaseUnit b : linear.getBase().getBaseSet()) { - if (!SI.BaseUnits.BASE_UNITS.contains(b)) + if (!Metric.BaseUnits.BASE_UNITS.contains(b)) return false; } diff --git a/src/main/java/sevenUnits/unit/UnitDatabase.java b/src/main/java/sevenUnits/unit/UnitDatabase.java index 1960229..b45d9cf 100644 --- a/src/main/java/sevenUnits/unit/UnitDatabase.java +++ b/src/main/java/sevenUnits/unit/UnitDatabase.java @@ -44,11 +44,11 @@ import java.util.function.Predicate; import java.util.regex.Matcher; import java.util.regex.Pattern; -import sevenUnits.math.ConditionalExistenceCollections; -import sevenUnits.math.DecimalComparison; -import sevenUnits.math.ExpressionParser; -import sevenUnits.math.ObjectProduct; -import sevenUnits.math.UncertainDouble; +import sevenUnits.utils.ConditionalExistenceCollections; +import sevenUnits.utils.DecimalComparison; +import sevenUnits.utils.ExpressionParser; +import sevenUnits.utils.ObjectProduct; +import sevenUnits.utils.UncertainDouble; /** * A database of units, prefixes and dimensions, and their names. @@ -1116,7 +1116,7 @@ public final class UnitDatabase { private static final LinearUnit exponentiateUnits(final LinearUnit base, final LinearUnit exponentUnit) { // exponent function - first check if o2 is a number, - if (exponentUnit.getBase().equals(SI.ONE.getBase())) { + if (exponentUnit.getBase().equals(Metric.ONE.getBase())) { // then check if it is an integer, final double exponent = exponentUnit.getConversionFactor(); if (DecimalComparison.equals(exponent % 1, 0)) @@ -1142,7 +1142,7 @@ public final class UnitDatabase { private static final LinearUnitValue exponentiateUnitValues( final LinearUnitValue base, final LinearUnitValue exponentValue) { // exponent function - first check if o2 is a number, - if (exponentValue.canConvertTo(SI.ONE)) { + if (exponentValue.canConvertTo(Metric.ONE)) { // then check if it is an integer, final double exponent = exponentValue.getValueExact(); if (DecimalComparison.equals(exponent % 1, 0)) @@ -1676,7 +1676,7 @@ public final class UnitDatabase { final BigDecimal number = new BigDecimal(name); final double uncertainty = Math.pow(10, -number.scale()); - return LinearUnitValue.of(SI.ONE, + return LinearUnitValue.of(Metric.ONE, UncertainDouble.of(number.doubleValue(), uncertainty)); } catch (final NumberFormatException e) { return LinearUnitValue.getExact(this.getLinearUnit(name), 1); @@ -1786,7 +1786,7 @@ public final class UnitDatabase { public Unit getUnit(final String name) { try { final double value = Double.parseDouble(name); - return SI.ONE.times(value); + return Metric.ONE.times(value); } catch (final NumberFormatException e) { final Unit unit = this.units.get(name); if (unit == null) diff --git a/src/main/java/sevenUnits/unit/UnitPrefix.java b/src/main/java/sevenUnits/unit/UnitPrefix.java index e4a27bd..308f4b0 100644 --- a/src/main/java/sevenUnits/unit/UnitPrefix.java +++ b/src/main/java/sevenUnits/unit/UnitPrefix.java @@ -20,7 +20,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; -import sevenUnits.math.DecimalComparison; +import sevenUnits.utils.DecimalComparison; /** * A prefix that can be applied to a {@code LinearUnit} to multiply it by some value diff --git a/src/main/java/sevenUnits/unit/Unitlike.java b/src/main/java/sevenUnits/unit/Unitlike.java index fd361b6..d2dcbbb 100644 --- a/src/main/java/sevenUnits/unit/Unitlike.java +++ b/src/main/java/sevenUnits/unit/Unitlike.java @@ -22,7 +22,7 @@ import java.util.Objects; import java.util.function.DoubleFunction; import java.util.function.ToDoubleFunction; -import sevenUnits.math.ObjectProduct; +import sevenUnits.utils.ObjectProduct; /** * An object that can convert a value between multiple forms (instances of the diff --git a/src/main/java/sevenUnits/math/ConditionalExistenceCollections.java b/src/main/java/sevenUnits/utils/ConditionalExistenceCollections.java index 5ce1bd7..2adb579 100644 --- a/src/main/java/sevenUnits/math/ConditionalExistenceCollections.java +++ b/src/main/java/sevenUnits/utils/ConditionalExistenceCollections.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package sevenUnits.math; +package sevenUnits.utils; import java.util.AbstractCollection; import java.util.AbstractMap; diff --git a/src/main/java/sevenUnits/math/DecimalComparison.java b/src/main/java/sevenUnits/utils/DecimalComparison.java index 24a9b2f..a5cbbaa 100644 --- a/src/main/java/sevenUnits/math/DecimalComparison.java +++ b/src/main/java/sevenUnits/utils/DecimalComparison.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package sevenUnits.math; +package sevenUnits.utils; import java.math.BigDecimal; diff --git a/src/main/java/sevenUnits/math/ExpressionParser.java b/src/main/java/sevenUnits/utils/ExpressionParser.java index 5c8183b..1d3d44d 100644 --- a/src/main/java/sevenUnits/math/ExpressionParser.java +++ b/src/main/java/sevenUnits/utils/ExpressionParser.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package sevenUnits.math; +package sevenUnits.utils; import java.util.ArrayDeque; import java.util.ArrayList; diff --git a/src/main/java/sevenUnits/math/ObjectProduct.java b/src/main/java/sevenUnits/utils/ObjectProduct.java index db95fd4..1dacb7d 100644 --- a/src/main/java/sevenUnits/math/ObjectProduct.java +++ b/src/main/java/sevenUnits/utils/ObjectProduct.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package sevenUnits.math; +package sevenUnits.utils; import java.util.ArrayList; import java.util.Collections; diff --git a/src/main/java/sevenUnits/math/UncertainDouble.java b/src/main/java/sevenUnits/utils/UncertainDouble.java index b81bb79..8fe4b31 100644 --- a/src/main/java/sevenUnits/math/UncertainDouble.java +++ b/src/main/java/sevenUnits/utils/UncertainDouble.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package sevenUnits.math; +package sevenUnits.utils; import java.math.BigDecimal; import java.math.RoundingMode; diff --git a/src/main/java/sevenUnits/math/package-info.java b/src/main/java/sevenUnits/utils/package-info.java index 62f72cd..350c62d 100644 --- a/src/main/java/sevenUnits/math/package-info.java +++ b/src/main/java/sevenUnits/utils/package-info.java @@ -1,5 +1,5 @@ /** - * Copyright (C) 2019 Adrien Hopkins + * Copyright (C) 2018-2020 Adrien Hopkins * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -15,10 +15,11 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ /** - * Supplementary classes that are not related to units, but are necessary for their function. + * Supplementary classes that are not related to units, but are necessary for + * their function. * * @author Adrien Hopkins * @since 2019-03-14 * @since v0.2.0 */ -package sevenUnits.math;
\ No newline at end of file +package sevenUnits.utils;
\ No newline at end of file diff --git a/src/test/java/sevenUnits/unit/MultiUnitTest.java b/src/test/java/sevenUnits/unit/MultiUnitTest.java index 82722af..d632118 100644 --- a/src/test/java/sevenUnits/unit/MultiUnitTest.java +++ b/src/test/java/sevenUnits/unit/MultiUnitTest.java @@ -27,7 +27,7 @@ import org.junit.jupiter.api.Test; import sevenUnits.unit.BritishImperial; import sevenUnits.unit.MultiUnit; -import sevenUnits.unit.SI; +import sevenUnits.unit.Metric; /** * Tests related to the {@code MultiUnit}. @@ -42,7 +42,7 @@ class MultiUnitTest { final MultiUnit footInch = MultiUnit.of(BritishImperial.Length.FOOT, BritishImperial.Length.INCH); - assertEquals(1702.0, footInch.convertTo(SI.METRE.withPrefix(SI.MILLI), + assertEquals(1702.0, footInch.convertTo(Metric.METRE.withPrefix(Metric.MILLI), Arrays.asList(5.0, 7.0)), 1.0); for (int i = 0; i < 1000; i++) { @@ -50,7 +50,7 @@ class MultiUnitTest { final double inches = rng.nextDouble() * 12; final double millimetres = feet * 304.8 + inches * 25.4; - final List<Double> feetAndInches = SI.METRE.withPrefix(SI.MILLI) + final List<Double> feetAndInches = Metric.METRE.withPrefix(Metric.MILLI) .convertTo(footInch, millimetres); assertEquals(feet, feetAndInches.get(0), 1e-10); assertEquals(inches, feetAndInches.get(1), 1e-10); diff --git a/src/test/java/sevenUnits/unit/UnitDatabaseTest.java b/src/test/java/sevenUnits/unit/UnitDatabaseTest.java index c706b5c..1d5e503 100644 --- a/src/test/java/sevenUnits/unit/UnitDatabaseTest.java +++ b/src/test/java/sevenUnits/unit/UnitDatabaseTest.java @@ -33,7 +33,7 @@ import org.junit.jupiter.api.Test; import sevenUnits.unit.LinearUnit; import sevenUnits.unit.NameSymbol; -import sevenUnits.unit.SI; +import sevenUnits.unit.Metric; import sevenUnits.unit.Unit; import sevenUnits.unit.UnitDatabase; import sevenUnits.unit.UnitPrefix; @@ -48,18 +48,18 @@ import sevenUnits.unit.UnitPrefix; */ class UnitDatabaseTest { // some linear units and one nonlinear - private static final Unit U = SI.METRE; - private static final Unit V = SI.KILOGRAM; - private static final Unit W = SI.SECOND; + private static final Unit U = Metric.METRE; + private static final Unit V = Metric.KILOGRAM; + private static final Unit W = Metric.SECOND; // used for testing expressions // J = U^2 * V / W^2 - private static final LinearUnit J = SI.KILOGRAM.times(SI.METRE.toExponent(2)) - .dividedBy(SI.SECOND.toExponent(2)); - private static final LinearUnit K = SI.KELVIN; + private static final LinearUnit J = Metric.KILOGRAM.times(Metric.METRE.toExponent(2)) + .dividedBy(Metric.SECOND.toExponent(2)); + private static final LinearUnit K = Metric.KELVIN; private static final Unit NONLINEAR = Unit - .fromConversionFunctions(SI.METRE.getBase(), o -> o + 1, o -> o - 1); + .fromConversionFunctions(Metric.METRE.getBase(), o -> o + 1, o -> o - 1); // make the prefix values prime so I can tell which multiplications were made private static final UnitPrefix A = UnitPrefix.valueOf(2) diff --git a/src/test/java/sevenUnits/unit/UnitTest.java b/src/test/java/sevenUnits/unit/UnitTest.java index d216ae8..a980054 100644 --- a/src/test/java/sevenUnits/unit/UnitTest.java +++ b/src/test/java/sevenUnits/unit/UnitTest.java @@ -26,13 +26,13 @@ import java.util.concurrent.ThreadLocalRandom; import org.junit.jupiter.api.Test; -import sevenUnits.math.DecimalComparison; import sevenUnits.unit.LinearUnit; import sevenUnits.unit.LinearUnitValue; import sevenUnits.unit.NameSymbol; -import sevenUnits.unit.SI; +import sevenUnits.unit.Metric; import sevenUnits.unit.Unit; import sevenUnits.unit.UnitValue; +import sevenUnits.utils.DecimalComparison; /** * Testing the various Unit classes. This is NOT part of this program's public @@ -48,19 +48,19 @@ class UnitTest { @Test public void testAdditionAndSubtraction() { - final LinearUnit inch = SI.METRE.times(0.0254) + final LinearUnit inch = Metric.METRE.times(0.0254) .withName(NameSymbol.of("inch", "in")); - final LinearUnit foot = SI.METRE.times(0.3048) + final LinearUnit foot = Metric.METRE.times(0.3048) .withName(NameSymbol.of("foot", "ft")); - assertEquals(inch.plus(foot), SI.METRE.times(0.3302)); - assertEquals(foot.minus(inch), SI.METRE.times(0.2794)); + assertEquals(inch.plus(foot), Metric.METRE.times(0.3302)); + assertEquals(foot.minus(inch), Metric.METRE.times(0.2794)); // test with LinearUnitValue - final LinearUnitValue value1 = LinearUnitValue.getExact(SI.METRE, 15); + final LinearUnitValue value1 = LinearUnitValue.getExact(Metric.METRE, 15); final LinearUnitValue value2 = LinearUnitValue.getExact(foot, 120); - final LinearUnitValue value3 = LinearUnitValue.getExact(SI.METRE, 0.5); - final LinearUnitValue value4 = LinearUnitValue.getExact(SI.KILOGRAM, 60); + final LinearUnitValue value3 = LinearUnitValue.getExact(Metric.METRE, 0.5); + final LinearUnitValue value4 = LinearUnitValue.getExact(Metric.KILOGRAM, 60); // make sure addition is done correctly assertEquals(51.576, value1.plus(value2).getValueExact(), 0.001); @@ -70,8 +70,8 @@ class UnitTest { // make sure addition uses the correct unit, and is still associative // (ignoring floating-point rounding errors) - assertEquals(SI.METRE, value1.plus(value2).getUnit()); - assertEquals(SI.METRE, value1.plus(value2).plus(value3).getUnit()); + assertEquals(Metric.METRE, value1.plus(value2).getUnit()); + assertEquals(Metric.METRE, value1.plus(value2).plus(value3).getUnit()); assertEquals(foot, value2.plus(value1).getUnit()); assertTrue(value1.plus(value2).equals(value2.plus(value1), true)); @@ -81,7 +81,7 @@ class UnitTest { @Test public void testConversion() { - final LinearUnit metre = SI.METRE; + final LinearUnit metre = Metric.METRE; final Unit inch = metre.times(0.0254); final UnitValue value = UnitValue.of(inch, 75); @@ -97,7 +97,7 @@ class UnitTest { final double expected = testValue * conversionFactor; // test - final Unit unit = SI.METRE.times(conversionFactor); + final Unit unit = Metric.METRE.times(conversionFactor); final double actual = unit.convertToBase(testValue); assertEquals(actual, expected, @@ -107,17 +107,17 @@ class UnitTest { @Test public void testEquals() { - final LinearUnit metre = SI.METRE; - final Unit meter = SI.BaseUnits.METRE.asLinearUnit(); + final LinearUnit metre = Metric.METRE; + final Unit meter = Metric.BaseUnits.METRE.asLinearUnit(); assertEquals(metre, meter); } @Test public void testIsMetric() { - final Unit metre = SI.METRE; - final Unit megasecond = SI.SECOND.withPrefix(SI.MEGA); - final Unit hour = SI.HOUR; + final Unit metre = Metric.METRE; + final Unit megasecond = Metric.SECOND.withPrefix(Metric.MEGA); + final Unit hour = Metric.HOUR; assertTrue(metre.isMetric()); assertTrue(megasecond.isMetric()); @@ -127,26 +127,26 @@ class UnitTest { @Test public void testMultiplicationAndDivision() { // test unit-times-unit multiplication - final LinearUnit generatedJoule = SI.KILOGRAM - .times(SI.METRE.toExponent(2)).dividedBy(SI.SECOND.toExponent(2)); - final LinearUnit actualJoule = SI.JOULE; + final LinearUnit generatedJoule = Metric.KILOGRAM + .times(Metric.METRE.toExponent(2)).dividedBy(Metric.SECOND.toExponent(2)); + final LinearUnit actualJoule = Metric.JOULE; assertEquals(generatedJoule, actualJoule); // test multiplication by conversion factors - final LinearUnit kilometre = SI.METRE.times(1000); - final LinearUnit hour = SI.SECOND.times(3600); + final LinearUnit kilometre = Metric.METRE.times(1000); + final LinearUnit hour = Metric.SECOND.times(3600); final LinearUnit generatedKPH = kilometre.dividedBy(hour); - final LinearUnit actualKPH = SI.METRE.dividedBy(SI.SECOND).dividedBy(3.6); + final LinearUnit actualKPH = Metric.METRE.dividedBy(Metric.SECOND).dividedBy(3.6); assertEquals(generatedKPH, actualKPH); } @Test public void testPrefixes() { - final LinearUnit generatedKilometre = SI.METRE.withPrefix(SI.KILO); - final LinearUnit actualKilometre = SI.METRE.times(1000); + final LinearUnit generatedKilometre = Metric.METRE.withPrefix(Metric.KILO); + final LinearUnit actualKilometre = Metric.METRE.times(1000); assertEquals(generatedKilometre, actualKilometre); } diff --git a/src/test/java/sevenUnits/math/ConditionalExistenceCollectionsTest.java b/src/test/java/sevenUnits/utils/ConditionalExistenceCollectionsTest.java index a35dc5a..46afe77 100644 --- a/src/test/java/sevenUnits/math/ConditionalExistenceCollectionsTest.java +++ b/src/test/java/sevenUnits/utils/ConditionalExistenceCollectionsTest.java @@ -14,7 +14,7 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package sevenUnits.math; +package sevenUnits.utils; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -31,8 +31,8 @@ import java.util.NoSuchElementException; import org.junit.jupiter.api.Test; -import sevenUnits.math.ConditionalExistenceCollections; -import sevenUnits.math.ConditionalExistenceCollections.ConditionalExistenceIterator; +import sevenUnits.utils.ConditionalExistenceCollections; +import sevenUnits.utils.ConditionalExistenceCollections.ConditionalExistenceIterator; /** * Tests the {@link #ConditionalExistenceCollections}. diff --git a/src/test/java/sevenUnits/math/ExpressionParserTest.java b/src/test/java/sevenUnits/utils/ExpressionParserTest.java index 4801233..29648ee 100644 --- a/src/test/java/sevenUnits/math/ExpressionParserTest.java +++ b/src/test/java/sevenUnits/utils/ExpressionParserTest.java @@ -14,13 +14,13 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package sevenUnits.math; +package sevenUnits.utils; import static org.junit.jupiter.api.Assertions.assertEquals; import org.junit.jupiter.api.Test; -import sevenUnits.math.ExpressionParser; +import sevenUnits.utils.ExpressionParser; /** * A test for the {@code ExpressionParser} class. This is NOT part of this program's public API. @@ -36,7 +36,7 @@ class ExpressionParserTest { .addBinaryOperator("^", (o1, o2) -> (int) Math.pow(o1, o2), 2).build(); /** - * Test method for {@link sevenUnits.math.ExpressionParser#parseExpression(java.lang.String)}. + * Test method for {@link sevenUnits.utils.ExpressionParser#parseExpression(java.lang.String)}. */ @Test public void testParseExpression() { diff --git a/src/test/java/sevenUnits/math/ObjectProductTest.java b/src/test/java/sevenUnits/utils/ObjectProductTest.java index 1734f26..13fd7ec 100644 --- a/src/test/java/sevenUnits/math/ObjectProductTest.java +++ b/src/test/java/sevenUnits/utils/ObjectProductTest.java @@ -14,23 +14,23 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package sevenUnits.math; +package sevenUnits.utils; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; -import static sevenUnits.unit.SI.Dimensions.AREA; -import static sevenUnits.unit.SI.Dimensions.ENERGY; -import static sevenUnits.unit.SI.Dimensions.LENGTH; -import static sevenUnits.unit.SI.Dimensions.MASS; -import static sevenUnits.unit.SI.Dimensions.MASS_DENSITY; -import static sevenUnits.unit.SI.Dimensions.QUANTITY; -import static sevenUnits.unit.SI.Dimensions.TIME; -import static sevenUnits.unit.SI.Dimensions.VOLUME; +import static sevenUnits.unit.Metric.Dimensions.AREA; +import static sevenUnits.unit.Metric.Dimensions.ENERGY; +import static sevenUnits.unit.Metric.Dimensions.LENGTH; +import static sevenUnits.unit.Metric.Dimensions.MASS; +import static sevenUnits.unit.Metric.Dimensions.MASS_DENSITY; +import static sevenUnits.unit.Metric.Dimensions.QUANTITY; +import static sevenUnits.unit.Metric.Dimensions.TIME; +import static sevenUnits.unit.Metric.Dimensions.VOLUME; import org.junit.jupiter.api.Test; -import sevenUnits.math.ObjectProduct; -import sevenUnits.unit.SI; +import sevenUnits.unit.Metric; +import sevenUnits.utils.ObjectProduct; /** * Tests for {@link ObjectProduct} using BaseDimension as a test object. This is NOT part of this program's public API. @@ -60,8 +60,8 @@ class ObjectProductTest { */ @Test public void testExponents() { - assertEquals(1, LENGTH.getExponent(SI.BaseDimensions.LENGTH)); - assertEquals(3, VOLUME.getExponent(SI.BaseDimensions.LENGTH)); + assertEquals(1, LENGTH.getExponent(Metric.BaseDimensions.LENGTH)); + assertEquals(3, VOLUME.getExponent(Metric.BaseDimensions.LENGTH)); } /** |