[PTRun][UnitConverter]Use capital letters in DegreePrefixer (#34845)
* [Run-UnitConverter] Use capital letters in DegreePrefixer * doc update * Update tests * Remove FeetToFt * trigger checks
This commit is contained in:
Родитель
bbad1eb461
Коммит
7c48f5ebd2
|
@ -19,13 +19,13 @@ This plugin uses a package called [UnitsNet](https://github.com/angularsen/Units
|
||||||
- [Temperature](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/TemperatureUnit.g.cs)
|
- [Temperature](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/TemperatureUnit.g.cs)
|
||||||
- [Volume](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs)
|
- [Volume](https://github.com/angularsen/UnitsNet/blob/master/UnitsNet/GeneratedCode/Units/VolumeUnit.g.cs)
|
||||||
|
|
||||||
These are the ones that are currently enabled (though UnitsNet supports many more). They are defined in [`Main.cs`](/src/modules/launcher/Plugins/Community.PowerToys.Run.UnitConverter/Main.cs).
|
These are the ones that are currently enabled (though UnitsNet supports many more). They are defined in [`UnitHandler.cs`](/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/UnitHandler.cs).
|
||||||
|
|
||||||
|
|
||||||
### [`InputInterpreter`](/src/modules/launcher/Plugins/Community.PowerToys.Run.UnitConverter/InputInterpreter.cs)
|
### [`InputInterpreter`](/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/InputInterpreter.cs)
|
||||||
- Class which manipulates user input such that it may be interpreted correctly and thus converted.
|
- Class which manipulates user input such that it may be interpreted correctly and thus converted.
|
||||||
- Uses a regex amongst other things to do this.
|
- Uses a regex amongst other things to do this.
|
||||||
|
|
||||||
### [`UnitHandler`](/src/modules/launcher/Plugins/Community.PowerToys.Run.UnitConverter/UnitHandler.cs)
|
### [`UnitHandler`](/src/modules/launcher/Plugins/Community.PowerToys.Run.Plugin.UnitConverter/UnitHandler.cs)
|
||||||
- Class that does the actual conversion.
|
- Class that does the actual conversion.
|
||||||
- Supports abbreviations in user input (single, double, or none).
|
- Supports abbreviations in user input (single, double, or none).
|
|
@ -68,9 +68,9 @@ namespace Community.PowerToys.Run.Plugin.UnitConverter.UnitTest
|
||||||
|
|
||||||
[DataTestMethod]
|
[DataTestMethod]
|
||||||
[DataRow(new string[] { "5", "CeLsIuS", "in", "faHrenheiT" }, new string[] { "5", "DegreeCelsius", "in", "DegreeFahrenheit" })]
|
[DataRow(new string[] { "5", "CeLsIuS", "in", "faHrenheiT" }, new string[] { "5", "DegreeCelsius", "in", "DegreeFahrenheit" })]
|
||||||
[DataRow(new string[] { "5", "f", "in", "celsius" }, new string[] { "5", "°f", "in", "DegreeCelsius" })]
|
[DataRow(new string[] { "5", "f", "in", "celsius" }, new string[] { "5", "°F", "in", "DegreeCelsius" })]
|
||||||
[DataRow(new string[] { "5", "c", "in", "f" }, new string[] { "5", "°c", "in", "°f" })]
|
[DataRow(new string[] { "5", "c", "in", "f" }, new string[] { "5", "°C", "in", "°F" })]
|
||||||
[DataRow(new string[] { "5", "f", "in", "c" }, new string[] { "5", "°f", "in", "°c" })]
|
[DataRow(new string[] { "5", "f", "in", "c" }, new string[] { "5", "°F", "in", "°C" })]
|
||||||
#pragma warning restore CA1861 // Avoid constant arrays as arguments
|
#pragma warning restore CA1861 // Avoid constant arrays as arguments
|
||||||
public void PrefixesDegrees(string[] input, string[] expectedResult)
|
public void PrefixesDegrees(string[] input, string[] expectedResult)
|
||||||
{
|
{
|
||||||
|
|
|
@ -92,7 +92,7 @@ namespace Community.PowerToys.Run.Plugin.UnitConverter
|
||||||
|
|
||||||
if (!isFeet || !isInches)
|
if (!isFeet || !isInches)
|
||||||
{
|
{
|
||||||
// atleast one could not be parsed correctly
|
// at least one could not be parsed correctly
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ namespace Community.PowerToys.Run.Plugin.UnitConverter
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Adds degree prefixes to degree units for shorthand notation. E.g. '10 c in fahrenheit' becomes '10 °c in DegreeFahrenheit'.
|
/// Adds degree prefixes to degree units for shorthand notation. E.g. '10 c in fahrenheit' becomes '10 °C in DegreeFahrenheit'.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static void DegreePrefixer(ref string[] split)
|
public static void DegreePrefixer(ref string[] split)
|
||||||
{
|
{
|
||||||
|
@ -130,11 +130,11 @@ namespace Community.PowerToys.Run.Plugin.UnitConverter
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "c":
|
case "c":
|
||||||
split[1] = "°c";
|
split[1] = "°C";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "f":
|
case "f":
|
||||||
split[1] = "°f";
|
split[1] = "°F";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -152,11 +152,11 @@ namespace Community.PowerToys.Run.Plugin.UnitConverter
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "c":
|
case "c":
|
||||||
split[3] = "°c";
|
split[3] = "°C";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "f":
|
case "f":
|
||||||
split[3] = "°f";
|
split[3] = "°F";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -164,22 +164,6 @@ namespace Community.PowerToys.Run.Plugin.UnitConverter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The plural form "feet" is not recognized by UniteNets. Replace it with "ft".
|
|
||||||
/// </summary>
|
|
||||||
public static void FeetToFt(ref string[] split)
|
|
||||||
{
|
|
||||||
if (string.Equals(split[1], "feet", StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
split[1] = "ft";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (string.Equals(split[3], "feet", StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
split[3] = "ft";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Converts spelling "kph" to "km/h"
|
/// Converts spelling "kph" to "km/h"
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -292,7 +276,6 @@ namespace Community.PowerToys.Run.Plugin.UnitConverter
|
||||||
|
|
||||||
InputInterpreter.DegreePrefixer(ref split);
|
InputInterpreter.DegreePrefixer(ref split);
|
||||||
InputInterpreter.MetreToMeter(ref split);
|
InputInterpreter.MetreToMeter(ref split);
|
||||||
InputInterpreter.FeetToFt(ref split);
|
|
||||||
InputInterpreter.KPHHandler(ref split);
|
InputInterpreter.KPHHandler(ref split);
|
||||||
InputInterpreter.GallonHandler(ref split, CultureInfo.CurrentCulture);
|
InputInterpreter.GallonHandler(ref split, CultureInfo.CurrentCulture);
|
||||||
InputInterpreter.OunceHandler(ref split, CultureInfo.CurrentCulture);
|
InputInterpreter.OunceHandler(ref split, CultureInfo.CurrentCulture);
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace Community.PowerToys.Run.Plugin.UnitConverter
|
||||||
{
|
{
|
||||||
public static class UnitHandler
|
public static class UnitHandler
|
||||||
{
|
{
|
||||||
private static readonly int _roundingFractionalDigits = 4;
|
private static readonly int _roundingSignificantDigits = 4;
|
||||||
|
|
||||||
private static readonly QuantityInfo[] _included = new QuantityInfo[]
|
private static readonly QuantityInfo[] _included = new QuantityInfo[]
|
||||||
{
|
{
|
||||||
|
@ -72,7 +72,7 @@ namespace Community.PowerToys.Run.Plugin.UnitConverter
|
||||||
|
|
||||||
var power = Math.Floor(Math.Log10(Math.Abs(value)));
|
var power = Math.Floor(Math.Log10(Math.Abs(value)));
|
||||||
var exponent = Math.Pow(10, power);
|
var exponent = Math.Pow(10, power);
|
||||||
var rounded = Math.Round(value / exponent, _roundingFractionalDigits) * exponent;
|
var rounded = Math.Round(value / exponent, _roundingSignificantDigits) * exponent;
|
||||||
return rounded;
|
return rounded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче