summaryrefslogtreecommitdiff
path: root/src/unitConverter/dimension
diff options
context:
space:
mode:
authorAdrien Hopkins <adrien.p.hopkins@gmail.com>2019-01-26 14:07:29 -0500
committerAdrien Hopkins <adrien.p.hopkins@gmail.com>2019-01-26 14:07:29 -0500
commitda01eec8c59477da649767f3ed72c98fe1bbb301 (patch)
treedca9a0dec1021924b779541c4d0c635cbf207c02 /src/unitConverter/dimension
parent5358e7f04c3d33a17ff84f6c274c521c8f0dd4c9 (diff)
Added more @since tags, edited some documentation
There is now a @since tag for version as well as date.
Diffstat (limited to 'src/unitConverter/dimension')
-rwxr-xr-xsrc/unitConverter/dimension/BaseDimension.java5
-rwxr-xr-xsrc/unitConverter/dimension/OtherBaseDimension.java2
-rwxr-xr-xsrc/unitConverter/dimension/SIBaseDimension.java2
-rwxr-xr-xsrc/unitConverter/dimension/StandardDimensions.java1
-rwxr-xr-xsrc/unitConverter/dimension/UnitDimension.java11
-rwxr-xr-xsrc/unitConverter/dimension/UnitDimensionTest.java21
6 files changed, 41 insertions, 1 deletions
diff --git a/src/unitConverter/dimension/BaseDimension.java b/src/unitConverter/dimension/BaseDimension.java
index 6a727a9..0c09dce 100755
--- a/src/unitConverter/dimension/BaseDimension.java
+++ b/src/unitConverter/dimension/BaseDimension.java
@@ -21,17 +21,20 @@ package unitConverter.dimension;
*
* @author Adrien Hopkins
* @since 2018-12-22
+ * @since v0.1.0
*/
public interface BaseDimension {
/**
* @return the dimension's name
- * @since 2019-01-25
+ * @since 2018-12-22
+ * @since v0.1.0
*/
String getName();
/**
* @return a short string (usually one character) that represents this base dimension
* @since 2018-12-22
+ * @since v0.1.0
*/
String getSymbol();
}
diff --git a/src/unitConverter/dimension/OtherBaseDimension.java b/src/unitConverter/dimension/OtherBaseDimension.java
index 2ab19b3..8c6d25d 100755
--- a/src/unitConverter/dimension/OtherBaseDimension.java
+++ b/src/unitConverter/dimension/OtherBaseDimension.java
@@ -23,6 +23,7 @@ import java.util.Objects;
*
* @author Adrien Hopkins
* @since 2019-01-14
+ * @since v0.1.0
*/
public enum OtherBaseDimension implements BaseDimension {
INFORMATION("Info"), CURRENCY("$$");
@@ -36,6 +37,7 @@ public enum OtherBaseDimension implements BaseDimension {
* @param symbol
* dimension's symbol
* @since 2018-12-11
+ * @since v0.1.0
*/
private OtherBaseDimension(final String symbol) {
this.symbol = Objects.requireNonNull(symbol, "symbol must not be null.");
diff --git a/src/unitConverter/dimension/SIBaseDimension.java b/src/unitConverter/dimension/SIBaseDimension.java
index b731b00..928d8d6 100755
--- a/src/unitConverter/dimension/SIBaseDimension.java
+++ b/src/unitConverter/dimension/SIBaseDimension.java
@@ -23,6 +23,7 @@ import java.util.Objects;
*
* @author Adrien Hopkins
* @since 2018-12-11
+ * @since v0.1.0
*/
public enum SIBaseDimension implements BaseDimension {
LENGTH("L"), MASS("M"), TIME("T"), ELECTRIC_CURRENT("I"), TEMPERATURE("\u0398"), // u0398 is the theta symbol
@@ -37,6 +38,7 @@ public enum SIBaseDimension implements BaseDimension {
* @param symbol
* dimension's symbol
* @since 2018-12-11
+ * @since v0.1.0
*/
private SIBaseDimension(final String symbol) {
this.symbol = Objects.requireNonNull(symbol, "symbol must not be null.");
diff --git a/src/unitConverter/dimension/StandardDimensions.java b/src/unitConverter/dimension/StandardDimensions.java
index c830f00..b3edb7d 100755
--- a/src/unitConverter/dimension/StandardDimensions.java
+++ b/src/unitConverter/dimension/StandardDimensions.java
@@ -21,6 +21,7 @@ package unitConverter.dimension;
*
* @author Adrien Hopkins
* @since 2018-12-11
+ * @since v0.1.0
*/
public final class StandardDimensions {
// base dimensions
diff --git a/src/unitConverter/dimension/UnitDimension.java b/src/unitConverter/dimension/UnitDimension.java
index ba2a750..40e5bbc 100755
--- a/src/unitConverter/dimension/UnitDimension.java
+++ b/src/unitConverter/dimension/UnitDimension.java
@@ -29,12 +29,14 @@ import java.util.Set;
*
* @author Adrien Hopkins
* @since 2018-12-11
+ * @since v0.1.0
*/
public final class UnitDimension {
/**
* The unit dimension where every exponent is zero
*
* @since 2018-12-12
+ * @since v0.1.0
*/
public static final UnitDimension EMPTY = new UnitDimension(new HashMap<>());
@@ -45,6 +47,7 @@ public final class UnitDimension {
* dimension to get
* @return unit dimension
* @since 2018-12-11
+ * @since v0.1.0
*/
public static final UnitDimension getBase(final BaseDimension dimension) {
final Map<BaseDimension, Integer> map = new HashMap<>();
@@ -56,6 +59,7 @@ public final class UnitDimension {
* The base dimensions that make up this dimension.
*
* @since 2018-12-11
+ * @since v0.1.0
*/
final Map<BaseDimension, Integer> exponents;
@@ -65,6 +69,7 @@ public final class UnitDimension {
* @param exponents
* base dimensions that make up this dimension
* @since 2018-12-11
+ * @since v0.1.0
*/
private UnitDimension(final Map<BaseDimension, Integer> exponents) {
this.exponents = new HashMap<>(exponents);
@@ -77,6 +82,7 @@ public final class UnitDimension {
* other dimension
* @return quotient of two dimensions
* @since 2018-12-11
+ * @since v0.1.0
*/
public UnitDimension dividedBy(final UnitDimension other) {
final Map<BaseDimension, Integer> map = new HashMap<>(this.exponents);
@@ -119,6 +125,7 @@ public final class UnitDimension {
/**
* @return a set of all of the base dimensions with non-zero exponents that make up this dimension.
* @since 2018-12-12
+ * @since v0.1.0
*/
public final Set<BaseDimension> getBaseSet() {
final Set<BaseDimension> dimensions = new HashSet<>();
@@ -140,6 +147,7 @@ public final class UnitDimension {
* dimension to check
* @return exponent for that dimension
* @since 2018-12-12
+ * @since v0.1.0
*/
public int getExponent(final BaseDimension dimension) {
return this.exponents.getOrDefault(dimension, 0);
@@ -153,6 +161,7 @@ public final class UnitDimension {
/**
* @return true if this dimension is a base, i.e. it has one exponent of one and no other nonzero exponents
* @since 2019-01-15
+ * @since v0.1.0
*/
public boolean isBase() {
int oneCount = 0;
@@ -174,6 +183,7 @@ public final class UnitDimension {
* other dimension
* @return product of two dimensions
* @since 2018-12-11
+ * @since v0.1.0
*/
public UnitDimension times(final UnitDimension other) {
final Map<BaseDimension, Integer> map = new HashMap<>(this.exponents);
@@ -196,6 +206,7 @@ public final class UnitDimension {
* exponent
* @return result of exponientation
* @since 2019-01-15
+ * @since v0.1.0
*/
public UnitDimension toExponent(final int exp) {
final Map<BaseDimension, Integer> map = new HashMap<>(this.exponents);
diff --git a/src/unitConverter/dimension/UnitDimensionTest.java b/src/unitConverter/dimension/UnitDimensionTest.java
index 603320b..86db1b8 100755
--- a/src/unitConverter/dimension/UnitDimensionTest.java
+++ b/src/unitConverter/dimension/UnitDimensionTest.java
@@ -30,22 +30,43 @@ import static unitConverter.dimension.StandardDimensions.VOLUME;
import org.junit.jupiter.api.Test;
/**
+ * Tests for {@link UnitDimension}.
+ *
* @author Adrien Hopkins
* @since 2018-12-12
+ * @since v0.1.0
*/
class UnitDimensionTest {
+ /**
+ * Tests {@link UnitDimension#equals}
+ *
+ * @since 2018-12-12
+ * @since v0.1.0
+ */
@Test
void testEquals() {
assertEquals(LENGTH, LENGTH);
assertFalse(LENGTH.equals(QUANTITY));
}
+ /**
+ * Tests {@code UnitDimension}'s exponentiation
+ *
+ * @since 2019-01-15
+ * @since v0.1.0
+ */
@Test
void testExponents() {
assertEquals(1, LENGTH.getExponent(SIBaseDimension.LENGTH));
assertEquals(3, VOLUME.getExponent(SIBaseDimension.LENGTH));
}
+ /**
+ * Tests {@code UnitDimension}'s multiplication and division.
+ *
+ * @since 2018-12-12
+ * @since v0.1.0
+ */
@Test
void testMultiplicationAndDivision() {
assertEquals(AREA, LENGTH.times(LENGTH));