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

Offen
#2,193 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.