Skip to content

Commit 165b5ff

Browse files
committed
Merge pull request #78 from schulz3000/feature/ExtendPreasure
Add pressure units * Pascal prefixes: Micro,Deca,Hecto,Giga * Bar prefixes: Milli,Centi,Deci,Kilo,Mega
2 parents 843e55d + da1e47c commit 165b5ff

File tree

6 files changed

+346
-3
lines changed

6 files changed

+346
-3
lines changed

UnitsNet.Tests/CustomCode/PressureTests.cs

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,5 +142,50 @@ protected override double TorrsInOnePascal
142142
{
143143
get { return 7.5006*1E-3; }
144144
}
145+
146+
protected override double CentibarsInOnePascal
147+
{
148+
get { return 1e-3; }
149+
}
150+
151+
protected override double DecapascalsInOnePascal
152+
{
153+
get { return 1e-1; }
154+
}
155+
156+
protected override double DecibarsInOnePascal
157+
{
158+
get { return 1e-4; }
159+
}
160+
161+
protected override double GigapascalsInOnePascal
162+
{
163+
get { return 1e-9; }
164+
}
165+
166+
protected override double HectopascalsInOnePascal
167+
{
168+
get { return 1e-2; }
169+
}
170+
171+
protected override double KilobarsInOnePascal
172+
{
173+
get { return 1e-8; }
174+
}
175+
176+
protected override double MegabarsInOnePascal
177+
{
178+
get { return 1e-11; }
179+
}
180+
181+
protected override double MicropascalsInOnePascal
182+
{
183+
get { return 1e-3; }
184+
}
185+
186+
protected override double MillibarsInOnePascal
187+
{
188+
get { return 1e-2; }
189+
}
145190
}
146191
}

UnitsNet.Tests/GeneratedCode/PressureTestsBase.g.cs

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ public abstract partial class PressureTestsBase
3838
{
3939
protected abstract double AtmospheresInOnePascal { get; }
4040
protected abstract double BarsInOnePascal { get; }
41+
protected abstract double CentibarsInOnePascal { get; }
42+
protected abstract double DecapascalsInOnePascal { get; }
43+
protected abstract double DecibarsInOnePascal { get; }
44+
protected abstract double GigapascalsInOnePascal { get; }
45+
protected abstract double HectopascalsInOnePascal { get; }
46+
protected abstract double KilobarsInOnePascal { get; }
4147
protected abstract double KilogramsForcePerSquareCentimeterInOnePascal { get; }
4248
protected abstract double KilogramsForcePerSquareMeterInOnePascal { get; }
4349
protected abstract double KilogramsForcePerSquareMillimeterInOnePascal { get; }
@@ -47,7 +53,10 @@ public abstract partial class PressureTestsBase
4753
protected abstract double KilopascalsInOnePascal { get; }
4854
protected abstract double KilopoundsForcePerSquareFootInOnePascal { get; }
4955
protected abstract double KilopoundsForcePerSquareInchInOnePascal { get; }
56+
protected abstract double MegabarsInOnePascal { get; }
5057
protected abstract double MegapascalsInOnePascal { get; }
58+
protected abstract double MicropascalsInOnePascal { get; }
59+
protected abstract double MillibarsInOnePascal { get; }
5160
protected abstract double NewtonsPerSquareCentimeterInOnePascal { get; }
5261
protected abstract double NewtonsPerSquareMeterInOnePascal { get; }
5362
protected abstract double NewtonsPerSquareMillimeterInOnePascal { get; }
@@ -64,6 +73,12 @@ public abstract partial class PressureTestsBase
6473
// ReSharper disable VirtualMemberNeverOverriden.Global
6574
protected virtual double AtmospheresTolerance { get { return 1e-5; } }
6675
protected virtual double BarsTolerance { get { return 1e-5; } }
76+
protected virtual double CentibarsTolerance { get { return 1e-5; } }
77+
protected virtual double DecapascalsTolerance { get { return 1e-5; } }
78+
protected virtual double DecibarsTolerance { get { return 1e-5; } }
79+
protected virtual double GigapascalsTolerance { get { return 1e-5; } }
80+
protected virtual double HectopascalsTolerance { get { return 1e-5; } }
81+
protected virtual double KilobarsTolerance { get { return 1e-5; } }
6782
protected virtual double KilogramsForcePerSquareCentimeterTolerance { get { return 1e-5; } }
6883
protected virtual double KilogramsForcePerSquareMeterTolerance { get { return 1e-5; } }
6984
protected virtual double KilogramsForcePerSquareMillimeterTolerance { get { return 1e-5; } }
@@ -73,7 +88,10 @@ public abstract partial class PressureTestsBase
7388
protected virtual double KilopascalsTolerance { get { return 1e-5; } }
7489
protected virtual double KilopoundsForcePerSquareFootTolerance { get { return 1e-5; } }
7590
protected virtual double KilopoundsForcePerSquareInchTolerance { get { return 1e-5; } }
91+
protected virtual double MegabarsTolerance { get { return 1e-5; } }
7692
protected virtual double MegapascalsTolerance { get { return 1e-5; } }
93+
protected virtual double MicropascalsTolerance { get { return 1e-5; } }
94+
protected virtual double MillibarsTolerance { get { return 1e-5; } }
7795
protected virtual double NewtonsPerSquareCentimeterTolerance { get { return 1e-5; } }
7896
protected virtual double NewtonsPerSquareMeterTolerance { get { return 1e-5; } }
7997
protected virtual double NewtonsPerSquareMillimeterTolerance { get { return 1e-5; } }
@@ -94,6 +112,12 @@ public void PascalToPressureUnits()
94112
Pressure pascal = Pressure.FromPascals(1);
95113
Assert.AreEqual(AtmospheresInOnePascal, pascal.Atmospheres, AtmospheresTolerance);
96114
Assert.AreEqual(BarsInOnePascal, pascal.Bars, BarsTolerance);
115+
Assert.AreEqual(CentibarsInOnePascal, pascal.Centibars, CentibarsTolerance);
116+
Assert.AreEqual(DecapascalsInOnePascal, pascal.Decapascals, DecapascalsTolerance);
117+
Assert.AreEqual(DecibarsInOnePascal, pascal.Decibars, DecibarsTolerance);
118+
Assert.AreEqual(GigapascalsInOnePascal, pascal.Gigapascals, GigapascalsTolerance);
119+
Assert.AreEqual(HectopascalsInOnePascal, pascal.Hectopascals, HectopascalsTolerance);
120+
Assert.AreEqual(KilobarsInOnePascal, pascal.Kilobars, KilobarsTolerance);
97121
Assert.AreEqual(KilogramsForcePerSquareCentimeterInOnePascal, pascal.KilogramsForcePerSquareCentimeter, KilogramsForcePerSquareCentimeterTolerance);
98122
Assert.AreEqual(KilogramsForcePerSquareMeterInOnePascal, pascal.KilogramsForcePerSquareMeter, KilogramsForcePerSquareMeterTolerance);
99123
Assert.AreEqual(KilogramsForcePerSquareMillimeterInOnePascal, pascal.KilogramsForcePerSquareMillimeter, KilogramsForcePerSquareMillimeterTolerance);
@@ -103,7 +127,10 @@ public void PascalToPressureUnits()
103127
Assert.AreEqual(KilopascalsInOnePascal, pascal.Kilopascals, KilopascalsTolerance);
104128
Assert.AreEqual(KilopoundsForcePerSquareFootInOnePascal, pascal.KilopoundsForcePerSquareFoot, KilopoundsForcePerSquareFootTolerance);
105129
Assert.AreEqual(KilopoundsForcePerSquareInchInOnePascal, pascal.KilopoundsForcePerSquareInch, KilopoundsForcePerSquareInchTolerance);
130+
Assert.AreEqual(MegabarsInOnePascal, pascal.Megabars, MegabarsTolerance);
106131
Assert.AreEqual(MegapascalsInOnePascal, pascal.Megapascals, MegapascalsTolerance);
132+
Assert.AreEqual(MicropascalsInOnePascal, pascal.Micropascals, MicropascalsTolerance);
133+
Assert.AreEqual(MillibarsInOnePascal, pascal.Millibars, MillibarsTolerance);
107134
Assert.AreEqual(NewtonsPerSquareCentimeterInOnePascal, pascal.NewtonsPerSquareCentimeter, NewtonsPerSquareCentimeterTolerance);
108135
Assert.AreEqual(NewtonsPerSquareMeterInOnePascal, pascal.NewtonsPerSquareMeter, NewtonsPerSquareMeterTolerance);
109136
Assert.AreEqual(NewtonsPerSquareMillimeterInOnePascal, pascal.NewtonsPerSquareMillimeter, NewtonsPerSquareMillimeterTolerance);
@@ -123,6 +150,12 @@ public void FromValueAndUnit()
123150
{
124151
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Atmosphere).Atmospheres, AtmospheresTolerance);
125152
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Bar).Bars, BarsTolerance);
153+
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Centibar).Centibars, CentibarsTolerance);
154+
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Decapascal).Decapascals, DecapascalsTolerance);
155+
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Decibar).Decibars, DecibarsTolerance);
156+
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Gigapascal).Gigapascals, GigapascalsTolerance);
157+
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Hectopascal).Hectopascals, HectopascalsTolerance);
158+
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Kilobar).Kilobars, KilobarsTolerance);
126159
Assert.AreEqual(1, Pressure.From(1, PressureUnit.KilogramForcePerSquareCentimeter).KilogramsForcePerSquareCentimeter, KilogramsForcePerSquareCentimeterTolerance);
127160
Assert.AreEqual(1, Pressure.From(1, PressureUnit.KilogramForcePerSquareMeter).KilogramsForcePerSquareMeter, KilogramsForcePerSquareMeterTolerance);
128161
Assert.AreEqual(1, Pressure.From(1, PressureUnit.KilogramForcePerSquareMillimeter).KilogramsForcePerSquareMillimeter, KilogramsForcePerSquareMillimeterTolerance);
@@ -132,7 +165,10 @@ public void FromValueAndUnit()
132165
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Kilopascal).Kilopascals, KilopascalsTolerance);
133166
Assert.AreEqual(1, Pressure.From(1, PressureUnit.KilopoundForcePerSquareFoot).KilopoundsForcePerSquareFoot, KilopoundsForcePerSquareFootTolerance);
134167
Assert.AreEqual(1, Pressure.From(1, PressureUnit.KilopoundForcePerSquareInch).KilopoundsForcePerSquareInch, KilopoundsForcePerSquareInchTolerance);
168+
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Megabar).Megabars, MegabarsTolerance);
135169
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Megapascal).Megapascals, MegapascalsTolerance);
170+
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Micropascal).Micropascals, MicropascalsTolerance);
171+
Assert.AreEqual(1, Pressure.From(1, PressureUnit.Millibar).Millibars, MillibarsTolerance);
136172
Assert.AreEqual(1, Pressure.From(1, PressureUnit.NewtonPerSquareCentimeter).NewtonsPerSquareCentimeter, NewtonsPerSquareCentimeterTolerance);
137173
Assert.AreEqual(1, Pressure.From(1, PressureUnit.NewtonPerSquareMeter).NewtonsPerSquareMeter, NewtonsPerSquareMeterTolerance);
138174
Assert.AreEqual(1, Pressure.From(1, PressureUnit.NewtonPerSquareMillimeter).NewtonsPerSquareMillimeter, NewtonsPerSquareMillimeterTolerance);
@@ -153,6 +189,12 @@ public void As()
153189
var pascal = Pressure.FromPascals(1);
154190
Assert.AreEqual(AtmospheresInOnePascal, pascal.As(PressureUnit.Atmosphere), AtmospheresTolerance);
155191
Assert.AreEqual(BarsInOnePascal, pascal.As(PressureUnit.Bar), BarsTolerance);
192+
Assert.AreEqual(CentibarsInOnePascal, pascal.As(PressureUnit.Centibar), CentibarsTolerance);
193+
Assert.AreEqual(DecapascalsInOnePascal, pascal.As(PressureUnit.Decapascal), DecapascalsTolerance);
194+
Assert.AreEqual(DecibarsInOnePascal, pascal.As(PressureUnit.Decibar), DecibarsTolerance);
195+
Assert.AreEqual(GigapascalsInOnePascal, pascal.As(PressureUnit.Gigapascal), GigapascalsTolerance);
196+
Assert.AreEqual(HectopascalsInOnePascal, pascal.As(PressureUnit.Hectopascal), HectopascalsTolerance);
197+
Assert.AreEqual(KilobarsInOnePascal, pascal.As(PressureUnit.Kilobar), KilobarsTolerance);
156198
Assert.AreEqual(KilogramsForcePerSquareCentimeterInOnePascal, pascal.As(PressureUnit.KilogramForcePerSquareCentimeter), KilogramsForcePerSquareCentimeterTolerance);
157199
Assert.AreEqual(KilogramsForcePerSquareMeterInOnePascal, pascal.As(PressureUnit.KilogramForcePerSquareMeter), KilogramsForcePerSquareMeterTolerance);
158200
Assert.AreEqual(KilogramsForcePerSquareMillimeterInOnePascal, pascal.As(PressureUnit.KilogramForcePerSquareMillimeter), KilogramsForcePerSquareMillimeterTolerance);
@@ -162,7 +204,10 @@ public void As()
162204
Assert.AreEqual(KilopascalsInOnePascal, pascal.As(PressureUnit.Kilopascal), KilopascalsTolerance);
163205
Assert.AreEqual(KilopoundsForcePerSquareFootInOnePascal, pascal.As(PressureUnit.KilopoundForcePerSquareFoot), KilopoundsForcePerSquareFootTolerance);
164206
Assert.AreEqual(KilopoundsForcePerSquareInchInOnePascal, pascal.As(PressureUnit.KilopoundForcePerSquareInch), KilopoundsForcePerSquareInchTolerance);
207+
Assert.AreEqual(MegabarsInOnePascal, pascal.As(PressureUnit.Megabar), MegabarsTolerance);
165208
Assert.AreEqual(MegapascalsInOnePascal, pascal.As(PressureUnit.Megapascal), MegapascalsTolerance);
209+
Assert.AreEqual(MicropascalsInOnePascal, pascal.As(PressureUnit.Micropascal), MicropascalsTolerance);
210+
Assert.AreEqual(MillibarsInOnePascal, pascal.As(PressureUnit.Millibar), MillibarsTolerance);
166211
Assert.AreEqual(NewtonsPerSquareCentimeterInOnePascal, pascal.As(PressureUnit.NewtonPerSquareCentimeter), NewtonsPerSquareCentimeterTolerance);
167212
Assert.AreEqual(NewtonsPerSquareMeterInOnePascal, pascal.As(PressureUnit.NewtonPerSquareMeter), NewtonsPerSquareMeterTolerance);
168213
Assert.AreEqual(NewtonsPerSquareMillimeterInOnePascal, pascal.As(PressureUnit.NewtonPerSquareMillimeter), NewtonsPerSquareMillimeterTolerance);
@@ -183,6 +228,12 @@ public void ConversionRoundTrip()
183228
Pressure pascal = Pressure.FromPascals(1);
184229
Assert.AreEqual(1, Pressure.FromAtmospheres(pascal.Atmospheres).Pascals, AtmospheresTolerance);
185230
Assert.AreEqual(1, Pressure.FromBars(pascal.Bars).Pascals, BarsTolerance);
231+
Assert.AreEqual(1, Pressure.FromCentibars(pascal.Centibars).Pascals, CentibarsTolerance);
232+
Assert.AreEqual(1, Pressure.FromDecapascals(pascal.Decapascals).Pascals, DecapascalsTolerance);
233+
Assert.AreEqual(1, Pressure.FromDecibars(pascal.Decibars).Pascals, DecibarsTolerance);
234+
Assert.AreEqual(1, Pressure.FromGigapascals(pascal.Gigapascals).Pascals, GigapascalsTolerance);
235+
Assert.AreEqual(1, Pressure.FromHectopascals(pascal.Hectopascals).Pascals, HectopascalsTolerance);
236+
Assert.AreEqual(1, Pressure.FromKilobars(pascal.Kilobars).Pascals, KilobarsTolerance);
186237
Assert.AreEqual(1, Pressure.FromKilogramsForcePerSquareCentimeter(pascal.KilogramsForcePerSquareCentimeter).Pascals, KilogramsForcePerSquareCentimeterTolerance);
187238
Assert.AreEqual(1, Pressure.FromKilogramsForcePerSquareMeter(pascal.KilogramsForcePerSquareMeter).Pascals, KilogramsForcePerSquareMeterTolerance);
188239
Assert.AreEqual(1, Pressure.FromKilogramsForcePerSquareMillimeter(pascal.KilogramsForcePerSquareMillimeter).Pascals, KilogramsForcePerSquareMillimeterTolerance);
@@ -192,7 +243,10 @@ public void ConversionRoundTrip()
192243
Assert.AreEqual(1, Pressure.FromKilopascals(pascal.Kilopascals).Pascals, KilopascalsTolerance);
193244
Assert.AreEqual(1, Pressure.FromKilopoundsForcePerSquareFoot(pascal.KilopoundsForcePerSquareFoot).Pascals, KilopoundsForcePerSquareFootTolerance);
194245
Assert.AreEqual(1, Pressure.FromKilopoundsForcePerSquareInch(pascal.KilopoundsForcePerSquareInch).Pascals, KilopoundsForcePerSquareInchTolerance);
246+
Assert.AreEqual(1, Pressure.FromMegabars(pascal.Megabars).Pascals, MegabarsTolerance);
195247
Assert.AreEqual(1, Pressure.FromMegapascals(pascal.Megapascals).Pascals, MegapascalsTolerance);
248+
Assert.AreEqual(1, Pressure.FromMicropascals(pascal.Micropascals).Pascals, MicropascalsTolerance);
249+
Assert.AreEqual(1, Pressure.FromMillibars(pascal.Millibars).Pascals, MillibarsTolerance);
196250
Assert.AreEqual(1, Pressure.FromNewtonsPerSquareCentimeter(pascal.NewtonsPerSquareCentimeter).Pascals, NewtonsPerSquareCentimeterTolerance);
197251
Assert.AreEqual(1, Pressure.FromNewtonsPerSquareMeter(pascal.NewtonsPerSquareMeter).Pascals, NewtonsPerSquareMeterTolerance);
198252
Assert.AreEqual(1, Pressure.FromNewtonsPerSquareMillimeter(pascal.NewtonsPerSquareMillimeter).Pascals, NewtonsPerSquareMillimeterTolerance);

UnitsNet/GeneratedCode/Enums/PressureUnit.g.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ public enum PressureUnit
2727
Undefined = 0,
2828
Atmosphere,
2929
Bar,
30+
Centibar,
31+
Decapascal,
32+
Decibar,
33+
Gigapascal,
34+
Hectopascal,
35+
Kilobar,
3036
KilogramForcePerSquareCentimeter,
3137
KilogramForcePerSquareMeter,
3238
KilogramForcePerSquareMillimeter,
@@ -36,7 +42,10 @@ public enum PressureUnit
3642
Kilopascal,
3743
KilopoundForcePerSquareFoot,
3844
KilopoundForcePerSquareInch,
45+
Megabar,
3946
Megapascal,
47+
Micropascal,
48+
Millibar,
4049
NewtonPerSquareCentimeter,
4150
NewtonPerSquareMeter,
4251
NewtonPerSquareMillimeter,

0 commit comments

Comments
 (0)