Skip to content

Commit 004a74f

Browse files
committed
Merge branch 'feature/area-squm'
2 parents 9a77f2a + 2e02b1e commit 004a74f

File tree

6 files changed

+190
-136
lines changed

6 files changed

+190
-136
lines changed

UnitsNet.Tests/CustomCode/AreaTests.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,27 @@ namespace UnitsNet.Tests.CustomCode
2525
{
2626
public class AreaTests : AreaTestsBase
2727
{
28+
29+
protected override double SquareKilometersInOneSquareMeter => 1E-6;
30+
31+
protected override double SquareMetersInOneSquareMeter => 1;
2832
protected override double SquareCentimetersInOneSquareMeter => 1E4;
2933

3034
protected override double SquareDecimetersInOneSquareMeter => 1E2;
3135

32-
protected override double SquareFeetInOneSquareMeter => 10.76391;
36+
protected override double SquareMillimetersInOneSquareMeter => 1E6;
3337

34-
protected override double SquareInchesInOneSquareMeter => 1550.003100;
38+
protected override double SquareFeetInOneSquareMeter => 10.76391;
3539

36-
protected override double SquareKilometersInOneSquareMeter => 1E-6;
40+
protected override double SquareMicrometersInOneSquareMeter
41+
{
42+
get { return 1E12; }
43+
}
3744

38-
protected override double SquareMetersInOneSquareMeter => 1;
45+
protected override double SquareInchesInOneSquareMeter => 1550.003100;
3946

4047
protected override double SquareMilesInOneSquareMeter => 3.86102*1E-7;
4148

42-
protected override double SquareMillimetersInOneSquareMeter => 1E6;
43-
4449
protected override double SquareYardsInOneSquareMeter => 1.19599;
4550

4651
[Test]
@@ -50,4 +55,4 @@ public void AreaDividedByLengthEqualsLength()
5055
Assert.AreEqual(length, Length.FromMeters(10));
5156
}
5257
}
53-
}
58+
}

UnitsNet.Tests/GeneratedCode/AreaTestsBase.g.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ public abstract partial class AreaTestsBase
4242
protected abstract double SquareInchesInOneSquareMeter { get; }
4343
protected abstract double SquareKilometersInOneSquareMeter { get; }
4444
protected abstract double SquareMetersInOneSquareMeter { get; }
45+
protected abstract double SquareMicrometersInOneSquareMeter { get; }
4546
protected abstract double SquareMilesInOneSquareMeter { get; }
4647
protected abstract double SquareMillimetersInOneSquareMeter { get; }
4748
protected abstract double SquareYardsInOneSquareMeter { get; }
@@ -53,6 +54,7 @@ public abstract partial class AreaTestsBase
5354
protected virtual double SquareInchesTolerance { get { return 1e-5; } }
5455
protected virtual double SquareKilometersTolerance { get { return 1e-5; } }
5556
protected virtual double SquareMetersTolerance { get { return 1e-5; } }
57+
protected virtual double SquareMicrometersTolerance { get { return 1e-5; } }
5658
protected virtual double SquareMilesTolerance { get { return 1e-5; } }
5759
protected virtual double SquareMillimetersTolerance { get { return 1e-5; } }
5860
protected virtual double SquareYardsTolerance { get { return 1e-5; } }
@@ -68,6 +70,7 @@ public void SquareMeterToAreaUnits()
6870
Assert.AreEqual(SquareInchesInOneSquareMeter, squaremeter.SquareInches, SquareInchesTolerance);
6971
Assert.AreEqual(SquareKilometersInOneSquareMeter, squaremeter.SquareKilometers, SquareKilometersTolerance);
7072
Assert.AreEqual(SquareMetersInOneSquareMeter, squaremeter.SquareMeters, SquareMetersTolerance);
73+
Assert.AreEqual(SquareMicrometersInOneSquareMeter, squaremeter.SquareMicrometers, SquareMicrometersTolerance);
7174
Assert.AreEqual(SquareMilesInOneSquareMeter, squaremeter.SquareMiles, SquareMilesTolerance);
7275
Assert.AreEqual(SquareMillimetersInOneSquareMeter, squaremeter.SquareMillimeters, SquareMillimetersTolerance);
7376
Assert.AreEqual(SquareYardsInOneSquareMeter, squaremeter.SquareYards, SquareYardsTolerance);
@@ -82,6 +85,7 @@ public void FromValueAndUnit()
8285
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareInch).SquareInches, SquareInchesTolerance);
8386
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareKilometer).SquareKilometers, SquareKilometersTolerance);
8487
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareMeter).SquareMeters, SquareMetersTolerance);
88+
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareMicrometer).SquareMicrometers, SquareMicrometersTolerance);
8589
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareMile).SquareMiles, SquareMilesTolerance);
8690
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareMillimeter).SquareMillimeters, SquareMillimetersTolerance);
8791
Assert.AreEqual(1, Area.From(1, AreaUnit.SquareYard).SquareYards, SquareYardsTolerance);
@@ -97,6 +101,7 @@ public void As()
97101
Assert.AreEqual(SquareInchesInOneSquareMeter, squaremeter.As(AreaUnit.SquareInch), SquareInchesTolerance);
98102
Assert.AreEqual(SquareKilometersInOneSquareMeter, squaremeter.As(AreaUnit.SquareKilometer), SquareKilometersTolerance);
99103
Assert.AreEqual(SquareMetersInOneSquareMeter, squaremeter.As(AreaUnit.SquareMeter), SquareMetersTolerance);
104+
Assert.AreEqual(SquareMicrometersInOneSquareMeter, squaremeter.As(AreaUnit.SquareMicrometer), SquareMicrometersTolerance);
100105
Assert.AreEqual(SquareMilesInOneSquareMeter, squaremeter.As(AreaUnit.SquareMile), SquareMilesTolerance);
101106
Assert.AreEqual(SquareMillimetersInOneSquareMeter, squaremeter.As(AreaUnit.SquareMillimeter), SquareMillimetersTolerance);
102107
Assert.AreEqual(SquareYardsInOneSquareMeter, squaremeter.As(AreaUnit.SquareYard), SquareYardsTolerance);
@@ -112,6 +117,7 @@ public void ConversionRoundTrip()
112117
Assert.AreEqual(1, Area.FromSquareInches(squaremeter.SquareInches).SquareMeters, SquareInchesTolerance);
113118
Assert.AreEqual(1, Area.FromSquareKilometers(squaremeter.SquareKilometers).SquareMeters, SquareKilometersTolerance);
114119
Assert.AreEqual(1, Area.FromSquareMeters(squaremeter.SquareMeters).SquareMeters, SquareMetersTolerance);
120+
Assert.AreEqual(1, Area.FromSquareMicrometers(squaremeter.SquareMicrometers).SquareMeters, SquareMicrometersTolerance);
115121
Assert.AreEqual(1, Area.FromSquareMiles(squaremeter.SquareMiles).SquareMeters, SquareMilesTolerance);
116122
Assert.AreEqual(1, Area.FromSquareMillimeters(squaremeter.SquareMillimeters).SquareMeters, SquareMillimetersTolerance);
117123
Assert.AreEqual(1, Area.FromSquareYards(squaremeter.SquareYards).SquareMeters, SquareYardsTolerance);

UnitsNet/GeneratedCode/Enums/AreaUnit.g.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public enum AreaUnit
3131
SquareInch,
3232
SquareKilometer,
3333
SquareMeter,
34+
SquareMicrometer,
3435
SquareMile,
3536
SquareMillimeter,
3637
SquareYard,

UnitsNet/GeneratedCode/UnitClasses/Area.g.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,14 @@ public double SquareMeters
102102
get { return _squareMeters; }
103103
}
104104

105+
/// <summary>
106+
/// Get Area in SquareMicrometers.
107+
/// </summary>
108+
public double SquareMicrometers
109+
{
110+
get { return _squareMeters/1e-12; }
111+
}
112+
105113
/// <summary>
106114
/// Get Area in SquareMiles.
107115
/// </summary>
@@ -183,6 +191,14 @@ public static Area FromSquareMeters(double squaremeters)
183191
return new Area(squaremeters);
184192
}
185193

194+
/// <summary>
195+
/// Get Area from SquareMicrometers.
196+
/// </summary>
197+
public static Area FromSquareMicrometers(double squaremicrometers)
198+
{
199+
return new Area(squaremicrometers*1e-12);
200+
}
201+
186202
/// <summary>
187203
/// Get Area from SquareMiles.
188204
/// </summary>
@@ -230,6 +246,8 @@ public static Area From(double value, AreaUnit fromUnit)
230246
return FromSquareKilometers(value);
231247
case AreaUnit.SquareMeter:
232248
return FromSquareMeters(value);
249+
case AreaUnit.SquareMicrometer:
250+
return FromSquareMicrometers(value);
233251
case AreaUnit.SquareMile:
234252
return FromSquareMiles(value);
235253
case AreaUnit.SquareMillimeter:
@@ -381,6 +399,8 @@ public double As(AreaUnit unit)
381399
return SquareKilometers;
382400
case AreaUnit.SquareMeter:
383401
return SquareMeters;
402+
case AreaUnit.SquareMicrometer:
403+
return SquareMicrometers;
384404
case AreaUnit.SquareMile:
385405
return SquareMiles;
386406
case AreaUnit.SquareMillimeter:

UnitsNet/GeneratedCode/UnitSystem.Default.g.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,12 @@ private static readonly ReadOnlyCollection<UnitLocalization> DefaultLocalization
193193
new AbbreviationsForCulture("en-US", "m²"),
194194
new AbbreviationsForCulture("ru-RU", "м²"),
195195
}),
196+
new CulturesForEnumValue((int) AreaUnit.SquareMicrometer,
197+
new[]
198+
{
199+
new AbbreviationsForCulture("en-US", "µm²"),
200+
new AbbreviationsForCulture("ru-RU", "мкм²"),
201+
}),
196202
new CulturesForEnumValue((int) AreaUnit.SquareMile,
197203
new[]
198204
{

0 commit comments

Comments
 (0)