Skip to content

Commit d6c66db

Browse files
authored
Merge pull request #214 from mludlum/master
Created USSurveyFoot unit
2 parents 622b575 + 9b04493 commit d6c66db

File tree

7 files changed

+98
-0
lines changed

7 files changed

+98
-0
lines changed

UnitsNet.Tests/CustomCode/LengthTests.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
2020
// THE SOFTWARE.
2121

22+
using System;
2223
using NUnit.Framework;
2324
using UnitsNet.Units;
2425

@@ -32,6 +33,8 @@ public class LengthTests : LengthTestsBase
3233

3334
protected override double FeetInOneMeter => 3.28084;
3435

36+
protected override double UsSurveyFeetInOneMeter => 3.280833333333333;
37+
3538
protected override double InchesInOneMeter => 39.37007874;
3639

3740
protected override double KilometersInOneMeter => 1E-3;

UnitsNet.Tests/GeneratedCode/LengthTestsBase.g.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ public abstract partial class LengthTestsBase
6666
protected abstract double MillimetersInOneMeter { get; }
6767
protected abstract double NanometersInOneMeter { get; }
6868
protected abstract double NauticalMilesInOneMeter { get; }
69+
protected abstract double UsSurveyFeetInOneMeter { get; }
6970
protected abstract double YardsInOneMeter { get; }
7071

7172
// ReSharper disable VirtualMemberNeverOverriden.Global
@@ -82,6 +83,7 @@ public abstract partial class LengthTestsBase
8283
protected virtual double MillimetersTolerance { get { return 1e-5; } }
8384
protected virtual double NanometersTolerance { get { return 1e-5; } }
8485
protected virtual double NauticalMilesTolerance { get { return 1e-5; } }
86+
protected virtual double UsSurveyFeetTolerance { get { return 1e-5; } }
8587
protected virtual double YardsTolerance { get { return 1e-5; } }
8688
// ReSharper restore VirtualMemberNeverOverriden.Global
8789

@@ -102,6 +104,7 @@ public void MeterToLengthUnits()
102104
Assert.AreEqual(MillimetersInOneMeter, meter.Millimeters, MillimetersTolerance);
103105
Assert.AreEqual(NanometersInOneMeter, meter.Nanometers, NanometersTolerance);
104106
Assert.AreEqual(NauticalMilesInOneMeter, meter.NauticalMiles, NauticalMilesTolerance);
107+
Assert.AreEqual(UsSurveyFeetInOneMeter, meter.UsSurveyFeet, UsSurveyFeetTolerance);
105108
Assert.AreEqual(YardsInOneMeter, meter.Yards, YardsTolerance);
106109
}
107110

@@ -121,6 +124,7 @@ public void FromValueAndUnit()
121124
Assert.AreEqual(1, Length.From(1, LengthUnit.Millimeter).Millimeters, MillimetersTolerance);
122125
Assert.AreEqual(1, Length.From(1, LengthUnit.Nanometer).Nanometers, NanometersTolerance);
123126
Assert.AreEqual(1, Length.From(1, LengthUnit.NauticalMile).NauticalMiles, NauticalMilesTolerance);
127+
Assert.AreEqual(1, Length.From(1, LengthUnit.UsSurveyFoot).UsSurveyFeet, UsSurveyFeetTolerance);
124128
Assert.AreEqual(1, Length.From(1, LengthUnit.Yard).Yards, YardsTolerance);
125129
}
126130

@@ -141,6 +145,7 @@ public void As()
141145
Assert.AreEqual(MillimetersInOneMeter, meter.As(LengthUnit.Millimeter), MillimetersTolerance);
142146
Assert.AreEqual(NanometersInOneMeter, meter.As(LengthUnit.Nanometer), NanometersTolerance);
143147
Assert.AreEqual(NauticalMilesInOneMeter, meter.As(LengthUnit.NauticalMile), NauticalMilesTolerance);
148+
Assert.AreEqual(UsSurveyFeetInOneMeter, meter.As(LengthUnit.UsSurveyFoot), UsSurveyFeetTolerance);
144149
Assert.AreEqual(YardsInOneMeter, meter.As(LengthUnit.Yard), YardsTolerance);
145150
}
146151

@@ -161,6 +166,7 @@ public void ConversionRoundTrip()
161166
Assert.AreEqual(1, Length.FromMillimeters(meter.Millimeters).Meters, MillimetersTolerance);
162167
Assert.AreEqual(1, Length.FromNanometers(meter.Nanometers).Meters, NanometersTolerance);
163168
Assert.AreEqual(1, Length.FromNauticalMiles(meter.NauticalMiles).Meters, NauticalMilesTolerance);
169+
Assert.AreEqual(1, Length.FromUsSurveyFeet(meter.UsSurveyFeet).Meters, UsSurveyFeetTolerance);
164170
Assert.AreEqual(1, Length.FromYards(meter.Yards).Meters, YardsTolerance);
165171
}
166172

UnitsNet/GeneratedCode/Enums/LengthUnit.g.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ public enum LengthUnit
5555
Millimeter,
5656
Nanometer,
5757
NauticalMile,
58+
UsSurveyFoot,
5859
Yard,
5960
}
6061
}

UnitsNet/GeneratedCode/Extensions/Number/NumberToLengthExtensions.g.cs

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,40 @@ public static class NumberToLengthExtensions
486486

487487
#endregion
488488

489+
#region UsSurveyFoot
490+
491+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double)"/>
492+
public static Length UsSurveyFeet(this int value) => Length.FromUsSurveyFeet(value);
493+
494+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double?)"/>
495+
public static Length? UsSurveyFeet(this int? value) => Length.FromUsSurveyFeet(value);
496+
497+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double)"/>
498+
public static Length UsSurveyFeet(this long value) => Length.FromUsSurveyFeet(value);
499+
500+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double?)"/>
501+
public static Length? UsSurveyFeet(this long? value) => Length.FromUsSurveyFeet(value);
502+
503+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double)"/>
504+
public static Length UsSurveyFeet(this double value) => Length.FromUsSurveyFeet(value);
505+
506+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double?)"/>
507+
public static Length? UsSurveyFeet(this double? value) => Length.FromUsSurveyFeet(value);
508+
509+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double)"/>
510+
public static Length UsSurveyFeet(this float value) => Length.FromUsSurveyFeet(value);
511+
512+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double?)"/>
513+
public static Length? UsSurveyFeet(this float? value) => Length.FromUsSurveyFeet(value);
514+
515+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double)"/>
516+
public static Length UsSurveyFeet(this decimal value) => Length.FromUsSurveyFeet(Convert.ToDouble(value));
517+
518+
/// <inheritdoc cref="Length.FromUsSurveyFeet(double?)"/>
519+
public static Length? UsSurveyFeet(this decimal? value) => Length.FromUsSurveyFeet(value == null ? (double?)null : Convert.ToDouble(value.Value));
520+
521+
#endregion
522+
489523
#region Yard
490524

491525
/// <inheritdoc cref="Length.FromYards(double)"/>

UnitsNet/GeneratedCode/UnitClasses/Length.g.cs

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,14 @@ public double NauticalMiles
214214
get { return _meters/1852; }
215215
}
216216

217+
/// <summary>
218+
/// Get Length in UsSurveyFeet.
219+
/// </summary>
220+
public double UsSurveyFeet
221+
{
222+
get { return _meters*3937/1200; }
223+
}
224+
217225
/// <summary>
218226
/// Get Length in Yards.
219227
/// </summary>
@@ -335,6 +343,14 @@ public static Length FromNauticalMiles(double nauticalmiles)
335343
return new Length(nauticalmiles*1852);
336344
}
337345

346+
/// <summary>
347+
/// Get Length from UsSurveyFeet.
348+
/// </summary>
349+
public static Length FromUsSurveyFeet(double ussurveyfeet)
350+
{
351+
return new Length(ussurveyfeet*1200/3937);
352+
}
353+
338354
/// <summary>
339355
/// Get Length from Yards.
340356
/// </summary>
@@ -539,6 +555,21 @@ public static Length FromYards(double yards)
539555
}
540556
}
541557

558+
/// <summary>
559+
/// Get nullable Length from nullable UsSurveyFeet.
560+
/// </summary>
561+
public static Length? FromUsSurveyFeet(double? ussurveyfeet)
562+
{
563+
if (ussurveyfeet.HasValue)
564+
{
565+
return FromUsSurveyFeet(ussurveyfeet.Value);
566+
}
567+
else
568+
{
569+
return null;
570+
}
571+
}
572+
542573
/// <summary>
543574
/// Get nullable Length from nullable Yards.
544575
/// </summary>
@@ -592,6 +623,8 @@ public static Length From(double val, LengthUnit fromUnit)
592623
return FromNanometers(val);
593624
case LengthUnit.NauticalMile:
594625
return FromNauticalMiles(val);
626+
case LengthUnit.UsSurveyFoot:
627+
return FromUsSurveyFeet(val);
595628
case LengthUnit.Yard:
596629
return FromYards(val);
597630

@@ -641,6 +674,8 @@ public static Length From(double val, LengthUnit fromUnit)
641674
return FromNanometers(value.Value);
642675
case LengthUnit.NauticalMile:
643676
return FromNauticalMiles(value.Value);
677+
case LengthUnit.UsSurveyFoot:
678+
return FromUsSurveyFeet(value.Value);
644679
case LengthUnit.Yard:
645680
return FromYards(value.Value);
646681

@@ -823,6 +858,8 @@ public double As(LengthUnit unit)
823858
return Nanometers;
824859
case LengthUnit.NauticalMile:
825860
return NauticalMiles;
861+
case LengthUnit.UsSurveyFoot:
862+
return UsSurveyFeet;
826863
case LengthUnit.Yard:
827864
return Yards;
828865

UnitsNet/GeneratedCode/UnitSystem.Default.g.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1152,6 +1152,11 @@ private static readonly ReadOnlyCollection<UnitLocalization> DefaultLocalization
11521152
new AbbreviationsForCulture("en-US", "NM"),
11531153
new AbbreviationsForCulture("ru-RU", "мил"),
11541154
}),
1155+
new CulturesForEnumValue((int) LengthUnit.UsSurveyFoot,
1156+
new[]
1157+
{
1158+
new AbbreviationsForCulture("en-US", "ftUS"),
1159+
}),
11551160
new CulturesForEnumValue((int) LengthUnit.Yard,
11561161
new[]
11571162
{

UnitsNet/Scripts/UnitDefinitions/Length.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,18 @@
6969
}
7070
]
7171
},
72+
{
73+
"SingularName": "UsSurveyFoot",
74+
"PluralName": "UsSurveyFeet",
75+
"FromUnitToBaseFunc": "x*1200/3937",
76+
"FromBaseToUnitFunc": "x*3937/1200",
77+
"Localization": [
78+
{
79+
"Culture": "en-US",
80+
"Abbreviations": [ "ftUS" ]
81+
}
82+
]
83+
},
7284
{
7385
"SingularName": "Inch",
7486
"PluralName": "Inches",

0 commit comments

Comments
 (0)