Skip to content

Commit c23523e

Browse files
committed
Merge branch 'master-anjdreas' into feature/ambiguous-abbreviations
2 parents 0f1d096 + 9513df2 commit c23523e

38 files changed

+233
-36
lines changed

UnitsNet.Tests/CustomCode/LengthTests.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
// THE SOFTWARE.
2121

2222
using NUnit.Framework;
23+
using UnitsNet.Units;
2324

2425
namespace UnitsNet.Tests.CustomCode
2526
{
@@ -88,5 +89,25 @@ public void LengthTimesLengthEqualsArea()
8889
Area area = Length.FromMeters(10)*Length.FromMeters(2);
8990
Assert.AreEqual(area, Area.FromSquareMeters(20));
9091
}
92+
93+
[Test]
94+
public void ToStringReturnsCorrectNumberAndUnitWithDefaultUnitWhichIsMeter()
95+
{
96+
Length.ToStringDefaultUnit = LengthUnit.Meter;
97+
Length meter = Length.FromMeters(5);
98+
string meterString = meter.ToString();
99+
Assert.AreEqual("5 m", meterString);
100+
}
101+
102+
[Test]
103+
public void ToStringReturnsCorrectNumberAndUnitWithCentimeterAsDefualtUnit()
104+
{
105+
LengthUnit oldUnit = Length.ToStringDefaultUnit;
106+
Length.ToStringDefaultUnit = LengthUnit.Centimeter;
107+
Length value = Length.From(2, LengthUnit.Centimeter);
108+
string valueString = value.ToString();
109+
Length.ToStringDefaultUnit = oldUnit;
110+
Assert.AreEqual("2 cm", valueString);
111+
}
91112
}
92113
}

UnitsNet/CustomCode/UnitClasses/Length.extra.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
// THE SOFTWARE.
2121

2222
using System;
23+
using System.Diagnostics;
2324
using System.Globalization;
2425
using UnitsNet.Units;
2526

UnitsNet/GeneratedCode/UnitClasses/Acceleration.g.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -477,13 +477,18 @@ public static AccelerationUnit ParseUnit(string str, IFormatProvider formatProvi
477477

478478
#endregion
479479

480+
/// <summary>
481+
/// Set the default unit used by ToString(). Default is MeterPerSecondSquared
482+
/// </summary>
483+
public static AccelerationUnit ToStringDefaultUnit { get; set; } = AccelerationUnit.MeterPerSecondSquared;
484+
480485
/// <summary>
481486
/// Get default string representation of value and unit.
482487
/// </summary>
483488
/// <returns>String representation.</returns>
484489
public override string ToString()
485490
{
486-
return ToString(AccelerationUnit.MeterPerSecondSquared);
491+
return ToString(ToStringDefaultUnit);
487492
}
488493

489494
/// <summary>

UnitsNet/GeneratedCode/UnitClasses/AmplitudeRatio.g.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,13 +405,18 @@ public static AmplitudeRatioUnit ParseUnit(string str, IFormatProvider formatPro
405405

406406
#endregion
407407

408+
/// <summary>
409+
/// Set the default unit used by ToString(). Default is DecibelVolt
410+
/// </summary>
411+
public static AmplitudeRatioUnit ToStringDefaultUnit { get; set; } = AmplitudeRatioUnit.DecibelVolt;
412+
408413
/// <summary>
409414
/// Get default string representation of value and unit.
410415
/// </summary>
411416
/// <returns>String representation.</returns>
412417
public override string ToString()
413418
{
414-
return ToString(AmplitudeRatioUnit.DecibelVolt);
419+
return ToString(ToStringDefaultUnit);
415420
}
416421

417422
/// <summary>

UnitsNet/GeneratedCode/UnitClasses/Angle.g.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,13 +537,18 @@ public static AngleUnit ParseUnit(string str, IFormatProvider formatProvider = n
537537

538538
#endregion
539539

540+
/// <summary>
541+
/// Set the default unit used by ToString(). Default is Degree
542+
/// </summary>
543+
public static AngleUnit ToStringDefaultUnit { get; set; } = AngleUnit.Degree;
544+
540545
/// <summary>
541546
/// Get default string representation of value and unit.
542547
/// </summary>
543548
/// <returns>String representation.</returns>
544549
public override string ToString()
545550
{
546-
return ToString(AngleUnit.Degree);
551+
return ToString(ToStringDefaultUnit);
547552
}
548553

549554
/// <summary>

UnitsNet/GeneratedCode/UnitClasses/Area.g.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,13 +537,18 @@ public static AreaUnit ParseUnit(string str, IFormatProvider formatProvider = nu
537537

538538
#endregion
539539

540+
/// <summary>
541+
/// Set the default unit used by ToString(). Default is SquareMeter
542+
/// </summary>
543+
public static AreaUnit ToStringDefaultUnit { get; set; } = AreaUnit.SquareMeter;
544+
540545
/// <summary>
541546
/// Get default string representation of value and unit.
542547
/// </summary>
543548
/// <returns>String representation.</returns>
544549
public override string ToString()
545550
{
546-
return ToString(AreaUnit.SquareMeter);
551+
return ToString(ToStringDefaultUnit);
547552
}
548553

549554
/// <summary>

UnitsNet/GeneratedCode/UnitClasses/Density.g.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,13 +537,18 @@ public static DensityUnit ParseUnit(string str, IFormatProvider formatProvider =
537537

538538
#endregion
539539

540+
/// <summary>
541+
/// Set the default unit used by ToString(). Default is KilogramPerCubicMeter
542+
/// </summary>
543+
public static DensityUnit ToStringDefaultUnit { get; set; } = DensityUnit.KilogramPerCubicMeter;
544+
540545
/// <summary>
541546
/// Get default string representation of value and unit.
542547
/// </summary>
543548
/// <returns>String representation.</returns>
544549
public override string ToString()
545550
{
546-
return ToString(DensityUnit.KilogramPerCubicMeter);
551+
return ToString(ToStringDefaultUnit);
547552
}
548553

549554
/// <summary>

UnitsNet/GeneratedCode/UnitClasses/Duration.g.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,13 +537,18 @@ public static DurationUnit ParseUnit(string str, IFormatProvider formatProvider
537537

538538
#endregion
539539

540+
/// <summary>
541+
/// Set the default unit used by ToString(). Default is Second
542+
/// </summary>
543+
public static DurationUnit ToStringDefaultUnit { get; set; } = DurationUnit.Second;
544+
540545
/// <summary>
541546
/// Get default string representation of value and unit.
542547
/// </summary>
543548
/// <returns>String representation.</returns>
544549
public override string ToString()
545550
{
546-
return ToString(DurationUnit.Second);
551+
return ToString(ToStringDefaultUnit);
547552
}
548553

549554
/// <summary>

UnitsNet/GeneratedCode/UnitClasses/ElectricCurrent.g.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,13 +457,18 @@ public static ElectricCurrentUnit ParseUnit(string str, IFormatProvider formatPr
457457

458458
#endregion
459459

460+
/// <summary>
461+
/// Set the default unit used by ToString(). Default is Ampere
462+
/// </summary>
463+
public static ElectricCurrentUnit ToStringDefaultUnit { get; set; } = ElectricCurrentUnit.Ampere;
464+
460465
/// <summary>
461466
/// Get default string representation of value and unit.
462467
/// </summary>
463468
/// <returns>String representation.</returns>
464469
public override string ToString()
465470
{
466-
return ToString(ElectricCurrentUnit.Ampere);
471+
return ToString(ToStringDefaultUnit);
467472
}
468473

469474
/// <summary>

UnitsNet/GeneratedCode/UnitClasses/ElectricPotential.g.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,13 +437,18 @@ public static ElectricPotentialUnit ParseUnit(string str, IFormatProvider format
437437

438438
#endregion
439439

440+
/// <summary>
441+
/// Set the default unit used by ToString(). Default is Volt
442+
/// </summary>
443+
public static ElectricPotentialUnit ToStringDefaultUnit { get; set; } = ElectricPotentialUnit.Volt;
444+
440445
/// <summary>
441446
/// Get default string representation of value and unit.
442447
/// </summary>
443448
/// <returns>String representation.</returns>
444449
public override string ToString()
445450
{
446-
return ToString(ElectricPotentialUnit.Volt);
451+
return ToString(ToStringDefaultUnit);
447452
}
448453

449454
/// <summary>

0 commit comments

Comments
 (0)