dotnet / dotnet/command-line-api
Some unit tests fail when run on a Windows machine set to a culture that doesn't use dot as the decimal separator
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C#
- Sterne
- 3.7k
- Forks
- 428
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
Those tests (in command-line-api\src\System.CommandLine.Tests\Binding\TypeConversionTests.cs) fail as is assumed that dot ('.') is always the decimal separator what is not true for pt-BR, or perhaps the parsing should use invariant culture to standardize the decimal separator
[Fact]
public void Values_can_be_correctly_converted_to_decimal_without_the_parser_specifying_a_custom_converter()
=> GetValue(new CliOption<decimal>("-x"), "-x 123.456").Should().Be(123.456m);
[Fact]
public void Values_can_be_correctly_converted_to_nullable_decimal_without_the_parser_specifying_a_custom_converter()
=> GetValue(new CliOption<decimal?>("-x"), "-x 123.456").Should().Be(123.456m);
[Fact]
public void Values_can_be_correctly_converted_to_double_without_the_parser_specifying_a_custom_converter()
=> GetValue(new CliOption<double>("-x"), "-x 123.456").Should().Be(123.456d);
[Fact]
public void Values_can_be_correctly_converted_to_nullable_double_without_the_parser_specifying_a_custom_converter()
=> GetValue(new CliOption<double?>("-x"), "-x 123.456").Should().Be(123.456d);
[Fact]
public void Values_can_be_correctly_converted_to_float_without_the_parser_specifying_a_custom_converter()
=> GetValue(new CliOption<float>("-x"), "-x 123.456").Should().Be(123.456f);
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in command-line-api\src\System.CommandLine.Tests\Binding\TypeConversionTests.cs und führe die aufgeführten Tests für decimal, nullable decimal, double, nullable double und float unter einer Windows pt-BR-Kultur aus. Verfolge die standardmäßige Typkonvertierung, um festzustellen, ob der Parser die invariante Kultur oder die aktuelle Kultur verwenden sollte. Als erledigt gilt die Aufgabe, wenn das beabsichtigte Verhalten des Dezimaltrennzeichens explizit ist und die Tests in der betroffenen Kultur bestehen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp
- Bereich
- cli, testing-qa
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100