Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion UnitsNet.Tests/CustomCode/VolumeTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
6 changes: 6 additions & 0 deletions UnitsNet.Tests/GeneratedCode/VolumeTestsBase.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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; }
Expand Down Expand Up @@ -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; } }
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down
1 change: 1 addition & 0 deletions UnitsNet/GeneratedCode/Enums/VolumeUnit.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
37 changes: 37 additions & 0 deletions UnitsNet/GeneratedCode/UnitClasses/Volume.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,14 @@ public double MetricTeaspoons
get { return _cubicMeters/0.5e-5; }
}

/// <summary>
/// Get Volume in Microliters.
/// </summary>
public double Microliters
{
get { return (_cubicMeters*1e3) / 1e-6d; }
}

/// <summary>
/// Get Volume in Milliliters.
/// </summary>
Expand Down Expand Up @@ -449,6 +457,14 @@ public static Volume FromMetricTeaspoons(double metricteaspoons)
return new Volume(metricteaspoons*0.5e-5);
}

/// <summary>
/// Get Volume from Microliters.
/// </summary>
public static Volume FromMicroliters(double microliters)
{
return new Volume((microliters/1e3) * 1e-6d);
}

/// <summary>
/// Get Volume from Milliliters.
/// </summary>
Expand Down Expand Up @@ -815,6 +831,21 @@ public static Volume FromUsTeaspoons(double usteaspoons)
}
}

/// <summary>
/// Get nullable Volume from nullable Microliters.
/// </summary>
public static Volume? FromMicroliters(double? microliters)
{
if (microliters.HasValue)
{
return FromMicroliters(microliters.Value);
}
else
{
return null;
}
}

/// <summary>
/// Get nullable Volume from nullable Milliliters.
/// </summary>
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
6 changes: 6 additions & 0 deletions UnitsNet/GeneratedCode/UnitSystem.Default.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2115,6 +2115,12 @@ private static readonly ReadOnlyCollection<UnitLocalization> 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[]
{
Expand Down
4 changes: 2 additions & 2 deletions UnitsNet/Scripts/UnitDefinitions/Volume.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -17,7 +17,7 @@
{
"Culture": "ru-RU",
"Abbreviations": [ "л" ],
"AbbreviationsWithPrefixes": [ "мл", "сл", "дл", "гл" ]
"AbbreviationsWithPrefixes": [ "мкл", "мл", "сл", "дл", "гл" ]
}
]
},
Expand Down