Skip to content

Commit 466f68a

Browse files
committed
Adding doc. Making tests cleaner. Small method name changes,
1 parent 53aafef commit 466f68a

File tree

3 files changed

+49
-68
lines changed

3 files changed

+49
-68
lines changed

UnitsNet.Tests/BaseDimensionsTests.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ public void ConstructorImplementedCorrectly()
2828
[InlineData(0, 0, 0, 0, 1, 0, 0)]
2929
[InlineData(0, 0, 0, 0, 0, 1, 0)]
3030
[InlineData(0, 0, 0, 0, 0, 0, 1)]
31-
public void IsBaseImplementedSuccessfully(int length, int mass, int time, int current, int temperature, int amount, int luminousIntensity)
31+
public void IsBaseQuantityImplementedProperly(int length, int mass, int time, int current, int temperature, int amount, int luminousIntensity)
3232
{
3333
var baseDimensions = new BaseDimensions(length, mass, time, current, temperature, amount, luminousIntensity);
3434
var derivedDimensions = new BaseDimensions(length * 2, mass * 2, time * 2, current * 2, temperature * 2, amount * 2, luminousIntensity * 2);
3535

36-
Assert.True(baseDimensions.IsBase());
37-
Assert.False(derivedDimensions.IsBase());
36+
Assert.True(baseDimensions.IsBaseQuantity());
37+
Assert.False(derivedDimensions.IsBaseQuantity());
3838
}
3939

4040
[Theory]
@@ -45,13 +45,13 @@ public void IsBaseImplementedSuccessfully(int length, int mass, int time, int cu
4545
[InlineData(0, 0, 0, 0, 2, 0, 0)]
4646
[InlineData(0, 0, 0, 0, 0, 2, 0)]
4747
[InlineData(0, 0, 0, 0, 0, 0, 2)]
48-
public void IsDerivedImplementedSuccessfully(int length, int mass, int time, int current, int temperature, int amount, int luminousIntensity)
48+
public void IsDerivedQuantityImplementedProperly(int length, int mass, int time, int current, int temperature, int amount, int luminousIntensity)
4949
{
5050
var baseDimensions = new BaseDimensions(length / 2, mass / 2, time / 2, current / 2, temperature / 2, amount / 2, luminousIntensity / 2);
5151
var derivedDimensions = new BaseDimensions(length, mass, time, current, temperature, amount, luminousIntensity);
5252

53-
Assert.False(baseDimensions.IsDerived());
54-
Assert.True(derivedDimensions.IsDerived());
53+
Assert.False(baseDimensions.IsDerivedQuantity());
54+
Assert.True(derivedDimensions.IsDerivedQuantity());
5555
}
5656

5757
[Fact]

UnitsNet.Tests/BaseUnitsTests.cs

+32-59
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,15 @@ namespace UnitsNet.Tests
2727
{
2828
public class BaseUnitsTests
2929
{
30+
private static BaseUnits siBaseUnits = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
31+
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
32+
33+
private static BaseUnits siBaseUnitsCopy = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
34+
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
35+
36+
private static BaseUnits nonSiBaseUnits = new BaseUnits(LengthUnit.Foot, MassUnit.Pound, DurationUnit.Second,
37+
ElectricCurrentUnit.Ampere, TemperatureUnit.DegreeFahrenheit, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
38+
3039
[Fact]
3140
public void ConstructorSetsUnitsProperly()
3241
{
@@ -45,63 +54,36 @@ public void ConstructorSetsUnitsProperly()
4554
[Fact]
4655
public void EqualsObjectIsImplementedCorrectly()
4756
{
48-
var baseUnits1 = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
49-
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
57+
Assert.True(siBaseUnits.Equals((object)siBaseUnitsCopy));
58+
Assert.False(siBaseUnits.Equals((object)nonSiBaseUnits));
5059

51-
var baseUnits2 = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
52-
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
53-
54-
var baseUnits3 = new BaseUnits(LengthUnit.Foot, MassUnit.Pound, DurationUnit.Second,
55-
ElectricCurrentUnit.Ampere, TemperatureUnit.DegreeFahrenheit, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
56-
57-
Assert.True(baseUnits1.Equals((object)baseUnits2));
58-
Assert.False(baseUnits1.Equals((object)baseUnits3));
59-
60-
Assert.False(baseUnits1.Equals("Some object."));
61-
Assert.False(baseUnits1.Equals((IFormatProvider)null));
60+
Assert.False(siBaseUnits.Equals("Some object."));
61+
Assert.False(siBaseUnits.Equals((IFormatProvider)null));
6262
}
6363

6464
[Fact]
6565
public void EqualsBaseUnitsIsImplementedCorrectly()
6666
{
67-
var baseUnits1 = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
68-
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
69-
70-
var baseUnits2 = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
71-
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
67+
Assert.True(siBaseUnits.Equals(siBaseUnitsCopy));
68+
Assert.True(siBaseUnitsCopy.Equals(siBaseUnits));
7269

73-
var baseUnits3 = new BaseUnits(LengthUnit.Foot, MassUnit.Pound, DurationUnit.Second,
74-
ElectricCurrentUnit.Ampere, TemperatureUnit.DegreeFahrenheit, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
70+
Assert.False(siBaseUnits.Equals(nonSiBaseUnits));
71+
Assert.False(nonSiBaseUnits.Equals(siBaseUnits));
7572

76-
Assert.True(baseUnits1.Equals(baseUnits2));
77-
Assert.True(baseUnits2.Equals(baseUnits1));
78-
79-
Assert.False(baseUnits1.Equals(baseUnits3));
80-
Assert.False(baseUnits3.Equals(baseUnits1));
81-
82-
Assert.False(baseUnits1.Equals(null));
73+
Assert.False(siBaseUnits.Equals(null));
8374
}
8475

8576
[Fact]
8677
public void EqualityOperatorIsImplementedCorrectly()
8778
{
88-
var baseUnits1 = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
89-
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
90-
91-
var baseUnits2 = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
92-
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
93-
94-
var baseUnits3 = new BaseUnits(LengthUnit.Foot, MassUnit.Pound, DurationUnit.Second,
95-
ElectricCurrentUnit.Ampere, TemperatureUnit.DegreeFahrenheit, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
79+
Assert.True(siBaseUnits == siBaseUnitsCopy);
80+
Assert.True(siBaseUnitsCopy == siBaseUnits);
9681

97-
Assert.True(baseUnits1 == baseUnits2);
98-
Assert.True(baseUnits2 == baseUnits1);
82+
Assert.False(siBaseUnits == nonSiBaseUnits);
83+
Assert.False(nonSiBaseUnits == siBaseUnits);
9984

100-
Assert.False(baseUnits1 == baseUnits3);
101-
Assert.False(baseUnits3 == baseUnits1);
102-
103-
Assert.False(baseUnits1 == null);
104-
Assert.False(null == baseUnits1);
85+
Assert.False(siBaseUnits == null);
86+
Assert.False(null == siBaseUnits);
10587

10688
BaseUnits nullBaseUnits1 = null;
10789
BaseUnits nullBaseUnits2 = null;
@@ -112,23 +94,14 @@ public void EqualityOperatorIsImplementedCorrectly()
11294
[Fact]
11395
public void InequalityOperatorIsImplementedCorrectly()
11496
{
115-
var baseUnits1 = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
116-
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
117-
118-
var baseUnits2 = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
119-
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
120-
121-
var baseUnits3 = new BaseUnits(LengthUnit.Foot, MassUnit.Pound, DurationUnit.Second,
122-
ElectricCurrentUnit.Ampere, TemperatureUnit.DegreeFahrenheit, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
123-
124-
Assert.False(baseUnits1 != baseUnits2);
125-
Assert.False(baseUnits2 != baseUnits1);
97+
Assert.False(siBaseUnits != siBaseUnitsCopy);
98+
Assert.False(siBaseUnitsCopy != siBaseUnits);
12699

127-
Assert.True(baseUnits1 != baseUnits3);
128-
Assert.True(baseUnits3 != baseUnits1);
100+
Assert.True(siBaseUnits != nonSiBaseUnits);
101+
Assert.True(nonSiBaseUnits != siBaseUnits);
129102

130-
Assert.True(baseUnits1 != null);
131-
Assert.True(null != baseUnits1);
103+
Assert.True(siBaseUnits != null);
104+
Assert.True(null != siBaseUnits);
132105

133106
BaseUnits nullBaseUnits1 = null;
134107
BaseUnits nullBaseUnits2 = null;
@@ -139,10 +112,10 @@ public void InequalityOperatorIsImplementedCorrectly()
139112
[Fact]
140113
public void ToStringGivesExpectedResult()
141114
{
142-
var baseUnits1 = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
115+
var siBaseUnits = new BaseUnits(LengthUnit.Meter, MassUnit.Kilogram, DurationUnit.Second,
143116
ElectricCurrentUnit.Ampere, TemperatureUnit.Kelvin, AmountOfSubstanceUnit.Mole, LuminousIntensityUnit.Candela);
144117

145-
Assert.Equal("[Length]: m, [Mass]: kg, [Time]: s, [Current]: A, [Temperature]: K, [Amount]: mol, [LuminousIntensity]: cd", baseUnits1.ToString());
118+
Assert.Equal("[Length]: m, [Mass]: kg, [Time]: s, [Current]: A, [Temperature]: K, [Amount]: mol, [LuminousIntensity]: cd", siBaseUnits.ToString());
146119
}
147120
}
148121
}

UnitsNet/BaseDimensions.cs

+11-3
Original file line numberDiff line numberDiff line change
@@ -42,16 +42,24 @@ public BaseDimensions(int length, int mass, int time, int current, int temperatu
4242
LuminousIntensity = luminousIntensity;
4343
}
4444

45-
public bool IsBase()
45+
/// <summary>
46+
/// Checks if the dimensions represent a base quantity.
47+
/// </summary>
48+
/// <returns>True if the dimensions represent a base quantity, otherwise false.</returns>
49+
public bool IsBaseQuantity()
4650
{
4751
var dimensionsArray = new int[]{Length, Mass, Time, Current, Temperature, Amount, LuminousIntensity};
4852
bool onlyOneEqualsOne = dimensionsArray.Where(dimension => dimension == 1).Take(2).Count() == 1;
4953
return onlyOneEqualsOne;
5054
}
5155

52-
public bool IsDerived()
56+
/// <summary>
57+
/// Checks the dimensions represent a derived quantity.
58+
/// </summary>
59+
/// <returns>True if the dimensions represent a derived quantity, otherwise false.</returns>
60+
public bool IsDerivedQuantity()
5361
{
54-
return !IsBase();
62+
return !IsBaseQuantity();
5563
}
5664

5765
/// <inheritdoc />

0 commit comments

Comments
 (0)