diff --git a/UnitsNet.Tests/CustomCode/VolumeTests.cs b/UnitsNet.Tests/CustomCode/VolumeTests.cs
index 4b1b7ab163..fc0f5c02c8 100644
--- a/UnitsNet.Tests/CustomCode/VolumeTests.cs
+++ b/UnitsNet.Tests/CustomCode/VolumeTests.cs
@@ -56,7 +56,9 @@ public class VolumeTests : VolumeTestsBase
protected override double ImperialOuncesInOneCubicMeter => 35195.07972;
protected override double LitersInOneCubicMeter => 1E3;
-
+
+ protected override double MicrolitersInOneCubicMeter => 1E9;
+
protected override double MillilitersInOneCubicMeter => 1E6;
protected override double AuTablespoonsInOneCubicMeter => 50000;
diff --git a/UnitsNet.Tests/GeneratedCode/VolumeTestsBase.g.cs b/UnitsNet.Tests/GeneratedCode/VolumeTestsBase.g.cs
index 35297ebd61..3862a56083 100644
--- a/UnitsNet.Tests/GeneratedCode/VolumeTestsBase.g.cs
+++ b/UnitsNet.Tests/GeneratedCode/VolumeTestsBase.g.cs
@@ -55,6 +55,7 @@ public abstract partial class VolumeTestsBase
protected abstract double LitersInOneCubicMeter { get; }
protected abstract double MetricCupsInOneCubicMeter { get; }
protected abstract double MetricTeaspoonsInOneCubicMeter { get; }
+ protected abstract double MicrolitersInOneCubicMeter { get; }
protected abstract double MillilitersInOneCubicMeter { get; }
protected abstract double TablespoonsInOneCubicMeter { get; }
protected abstract double TeaspoonsInOneCubicMeter { get; }
@@ -86,6 +87,7 @@ public abstract partial class VolumeTestsBase
protected virtual double LitersTolerance { get { return 1e-5; } }
protected virtual double MetricCupsTolerance { get { return 1e-5; } }
protected virtual double MetricTeaspoonsTolerance { get { return 1e-5; } }
+ protected virtual double MicrolitersTolerance { get { return 1e-5; } }
protected virtual double MillilitersTolerance { get { return 1e-5; } }
protected virtual double TablespoonsTolerance { get { return 1e-5; } }
protected virtual double TeaspoonsTolerance { get { return 1e-5; } }
@@ -121,6 +123,7 @@ public void CubicMeterToVolumeUnits()
Assert.AreEqual(LitersInOneCubicMeter, cubicmeter.Liters, LitersTolerance);
Assert.AreEqual(MetricCupsInOneCubicMeter, cubicmeter.MetricCups, MetricCupsTolerance);
Assert.AreEqual(MetricTeaspoonsInOneCubicMeter, cubicmeter.MetricTeaspoons, MetricTeaspoonsTolerance);
+ Assert.AreEqual(MicrolitersInOneCubicMeter, cubicmeter.Microliters, MicrolitersTolerance);
Assert.AreEqual(MillilitersInOneCubicMeter, cubicmeter.Milliliters, MillilitersTolerance);
Assert.AreEqual(TablespoonsInOneCubicMeter, cubicmeter.Tablespoons, TablespoonsTolerance);
Assert.AreEqual(TeaspoonsInOneCubicMeter, cubicmeter.Teaspoons, TeaspoonsTolerance);
@@ -155,6 +158,7 @@ public void FromValueAndUnit()
Assert.AreEqual(1, Volume.From(1, VolumeUnit.Liter).Liters, LitersTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.MetricCup).MetricCups, MetricCupsTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.MetricTeaspoon).MetricTeaspoons, MetricTeaspoonsTolerance);
+ Assert.AreEqual(1, Volume.From(1, VolumeUnit.Microliter).Microliters, MicrolitersTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.Milliliter).Milliliters, MillilitersTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.Tablespoon).Tablespoons, TablespoonsTolerance);
Assert.AreEqual(1, Volume.From(1, VolumeUnit.Teaspoon).Teaspoons, TeaspoonsTolerance);
@@ -190,6 +194,7 @@ public void As()
Assert.AreEqual(LitersInOneCubicMeter, cubicmeter.As(VolumeUnit.Liter), LitersTolerance);
Assert.AreEqual(MetricCupsInOneCubicMeter, cubicmeter.As(VolumeUnit.MetricCup), MetricCupsTolerance);
Assert.AreEqual(MetricTeaspoonsInOneCubicMeter, cubicmeter.As(VolumeUnit.MetricTeaspoon), MetricTeaspoonsTolerance);
+ Assert.AreEqual(MicrolitersInOneCubicMeter, cubicmeter.As(VolumeUnit.Microliter), MicrolitersTolerance);
Assert.AreEqual(MillilitersInOneCubicMeter, cubicmeter.As(VolumeUnit.Milliliter), MillilitersTolerance);
Assert.AreEqual(TablespoonsInOneCubicMeter, cubicmeter.As(VolumeUnit.Tablespoon), TablespoonsTolerance);
Assert.AreEqual(TeaspoonsInOneCubicMeter, cubicmeter.As(VolumeUnit.Teaspoon), TeaspoonsTolerance);
@@ -225,6 +230,7 @@ public void ConversionRoundTrip()
Assert.AreEqual(1, Volume.FromLiters(cubicmeter.Liters).CubicMeters, LitersTolerance);
Assert.AreEqual(1, Volume.FromMetricCups(cubicmeter.MetricCups).CubicMeters, MetricCupsTolerance);
Assert.AreEqual(1, Volume.FromMetricTeaspoons(cubicmeter.MetricTeaspoons).CubicMeters, MetricTeaspoonsTolerance);
+ Assert.AreEqual(1, Volume.FromMicroliters(cubicmeter.Microliters).CubicMeters, MicrolitersTolerance);
Assert.AreEqual(1, Volume.FromMilliliters(cubicmeter.Milliliters).CubicMeters, MillilitersTolerance);
Assert.AreEqual(1, Volume.FromTablespoons(cubicmeter.Tablespoons).CubicMeters, TablespoonsTolerance);
Assert.AreEqual(1, Volume.FromTeaspoons(cubicmeter.Teaspoons).CubicMeters, TeaspoonsTolerance);
diff --git a/UnitsNet/GeneratedCode/Enums/VolumeUnit.g.cs b/UnitsNet/GeneratedCode/Enums/VolumeUnit.g.cs
index ee943d949d..161a636cd4 100644
--- a/UnitsNet/GeneratedCode/Enums/VolumeUnit.g.cs
+++ b/UnitsNet/GeneratedCode/Enums/VolumeUnit.g.cs
@@ -44,6 +44,7 @@ public enum VolumeUnit
Liter,
MetricCup,
MetricTeaspoon,
+ Microliter,
Milliliter,
[System.Obsolete("Deprecated due to github issue #134, please use UsTablespoon instead")]
Tablespoon,
diff --git a/UnitsNet/GeneratedCode/UnitClasses/Volume.g.cs b/UnitsNet/GeneratedCode/UnitClasses/Volume.g.cs
index 50bdeff1ca..20a82e7e91 100644
--- a/UnitsNet/GeneratedCode/UnitClasses/Volume.g.cs
+++ b/UnitsNet/GeneratedCode/UnitClasses/Volume.g.cs
@@ -206,6 +206,14 @@ public double MetricTeaspoons
get { return _cubicMeters/0.5e-5; }
}
+ ///
+ /// Get Volume in Microliters.
+ ///
+ public double Microliters
+ {
+ get { return (_cubicMeters*1e3) / 1e-6d; }
+ }
+
///
/// Get Volume in Milliliters.
///
@@ -449,6 +457,14 @@ public static Volume FromMetricTeaspoons(double metricteaspoons)
return new Volume(metricteaspoons*0.5e-5);
}
+ ///
+ /// Get Volume from Microliters.
+ ///
+ public static Volume FromMicroliters(double microliters)
+ {
+ return new Volume((microliters/1e3) * 1e-6d);
+ }
+
///
/// Get Volume from Milliliters.
///
@@ -815,6 +831,21 @@ public static Volume FromUsTeaspoons(double usteaspoons)
}
}
+ ///
+ /// Get nullable Volume from nullable Microliters.
+ ///
+ public static Volume? FromMicroliters(double? microliters)
+ {
+ if (microliters.HasValue)
+ {
+ return FromMicroliters(microliters.Value);
+ }
+ else
+ {
+ return null;
+ }
+ }
+
///
/// Get nullable Volume from nullable Milliliters.
///
@@ -1014,6 +1045,8 @@ public static Volume From(double value, VolumeUnit fromUnit)
return FromMetricCups(value);
case VolumeUnit.MetricTeaspoon:
return FromMetricTeaspoons(value);
+ case VolumeUnit.Microliter:
+ return FromMicroliters(value);
case VolumeUnit.Milliliter:
return FromMilliliters(value);
case VolumeUnit.Tablespoon:
@@ -1092,6 +1125,8 @@ public static Volume From(double value, VolumeUnit fromUnit)
return FromMetricCups(value.Value);
case VolumeUnit.MetricTeaspoon:
return FromMetricTeaspoons(value.Value);
+ case VolumeUnit.Microliter:
+ return FromMicroliters(value.Value);
case VolumeUnit.Milliliter:
return FromMilliliters(value.Value);
case VolumeUnit.Tablespoon:
@@ -1283,6 +1318,8 @@ public double As(VolumeUnit unit)
return MetricCups;
case VolumeUnit.MetricTeaspoon:
return MetricTeaspoons;
+ case VolumeUnit.Microliter:
+ return Microliters;
case VolumeUnit.Milliliter:
return Milliliters;
case VolumeUnit.Tablespoon:
diff --git a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
index bc7b195e90..c4acbf8d36 100644
--- a/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
+++ b/UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
@@ -2115,6 +2115,12 @@ private static readonly ReadOnlyCollection DefaultLocalization
new AbbreviationsForCulture("ru-RU", ""),
new AbbreviationsForCulture("nb-NO", ""),
}),
+ new CulturesForEnumValue((int) VolumeUnit.Microliter,
+ new[]
+ {
+ new AbbreviationsForCulture("en-US", "μl"),
+ new AbbreviationsForCulture("ru-RU", "мкл"),
+ }),
new CulturesForEnumValue((int) VolumeUnit.Milliliter,
new[]
{
diff --git a/UnitsNet/Scripts/UnitDefinitions/Volume.json b/UnitsNet/Scripts/UnitDefinitions/Volume.json
index 44aeb2ffcb..2510ca5626 100644
--- a/UnitsNet/Scripts/UnitDefinitions/Volume.json
+++ b/UnitsNet/Scripts/UnitDefinitions/Volume.json
@@ -8,7 +8,7 @@
"PluralName": "Liters",
"FromUnitToBaseFunc": "x/1e3",
"FromBaseToUnitFunc": "x*1e3",
- "Prefixes": [ "Milli", "Centi", "Deci", "Hecto" ],
+ "Prefixes": [ "Micro", "Milli", "Centi", "Deci", "Hecto" ],
"Localization": [
{
"Culture": "en-US",
@@ -17,7 +17,7 @@
{
"Culture": "ru-RU",
"Abbreviations": [ "л" ],
- "AbbreviationsWithPrefixes": [ "мл", "сл", "дл", "гл" ]
+ "AbbreviationsWithPrefixes": [ "мкл", "мл", "сл", "дл", "гл" ]
}
]
},