Stufe 4c (#764): Bezeichner auf Englisch - Typen, Methoden, Felder, Parameter, Locals, Testnamen
Mit Roslyn umbenannt (Verweise folgen, Zeichenketten bleiben unberuehrt). Nicht umbenannt, weil gespeichert oder ueber die API gebunden (Stufe 4e): Properties, Record-Parameter, Enum-Member sowie die Parameter der Endpunkt-Handler (Routen-/Query-Bindung ueber den Namen). Die JSON-Felder anonymer Objekte bleiben ausdruecklich benannt (JsonFilter: pfad). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
837a634a22
commit
77062facc9
@@ -21,7 +21,7 @@ public sealed class ModelPricingTests
|
||||
[InlineData("0.000015", 15.0)]
|
||||
[InlineData("0.0000001", 0.1)]
|
||||
[InlineData("0", 0.0)]
|
||||
public void Preise_pro_Token_werden_auf_eine_Million_hochgerechnet(string raw, double expected)
|
||||
public void Prices_per_token_are_scaled_to_one_million(string raw, double expected)
|
||||
{
|
||||
ModelPricing.ParsePerToken(raw).ShouldBe((decimal)expected);
|
||||
}
|
||||
@@ -31,13 +31,13 @@ public sealed class ModelPricingTests
|
||||
[InlineData("")]
|
||||
[InlineData("keine-zahl")]
|
||||
[InlineData("-0.001")]
|
||||
public void Unbrauchbare_Angaben_ergeben_null(string? raw)
|
||||
public void Unusable_values_give_null(string? raw)
|
||||
{
|
||||
ModelPricing.ParsePerToken(raw).ShouldBeNull();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Die_Umrechnung_ist_unabhaengig_von_der_Systemsprache()
|
||||
public void The_conversion_is_independent_of_the_system_language()
|
||||
{
|
||||
// With German culture "0.000003" would otherwise be read as 3 instead of 0.000003.
|
||||
var original = Thread.CurrentThread.CurrentCulture;
|
||||
@@ -57,7 +57,7 @@ public sealed class ModelPricingTests
|
||||
// ═══════════════════════════════════════════════════════════
|
||||
|
||||
[Fact]
|
||||
public void Preise_werden_aus_der_Modellantwort_gelesen()
|
||||
public void Prices_are_read_from_the_model_response()
|
||||
{
|
||||
var item = JsonDocument.Parse("""
|
||||
{ "id": "anthropic/claude-sonnet-4-5",
|
||||
@@ -76,7 +76,7 @@ public sealed class ModelPricingTests
|
||||
[InlineData("""{ "id": "x", "pricing": {} }""")]
|
||||
[InlineData("""{ "id": "x", "pricing": { "prompt": "0.000003" } }""")]
|
||||
[InlineData("""{ "id": "x", "pricing": "kostenlos" }""")]
|
||||
public void Unvollstaendige_Preisangaben_ergeben_null(string json)
|
||||
public void Incomplete_prices_give_null(string json)
|
||||
{
|
||||
// Half the information is worse than none — it would result in a plausible-looking
|
||||
// but wrong sum.
|
||||
@@ -100,7 +100,7 @@ public sealed class ModelPricingTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Die_Kosten_werden_aus_Prompt_und_Completion_getrennt_berechnet()
|
||||
public void The_costs_are_calculated_separately_from_prompt_and_completion()
|
||||
{
|
||||
var catalog = CatalogWith(("anthropic/claude-sonnet-4-5", 3m, 15m));
|
||||
|
||||
@@ -112,7 +112,7 @@ public sealed class ModelPricingTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Ein_unbekanntes_Modell_wird_als_unbekannt_gemeldet_statt_als_null_Kosten()
|
||||
public void An_unknown_model_is_reported_as_unknown_instead_of_zero_cost()
|
||||
{
|
||||
// The core of the old error: 0 looked like free.
|
||||
var catalog = CatalogWith(("openai/gpt-4o", 2.5m, 10m));
|
||||
@@ -124,7 +124,7 @@ public sealed class ModelPricingTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Grossschreibung_der_Modell_ID_spielt_keine_Rolle()
|
||||
public void Case_of_the_model_ID_does_not_matter()
|
||||
{
|
||||
var catalog = CatalogWith(("openai/gpt-4o", 2.5m, 10m));
|
||||
|
||||
@@ -132,7 +132,7 @@ public sealed class ModelPricingTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Modelle_ohne_Preisangabe_landen_nicht_im_Katalog()
|
||||
public void Models_without_price_do_not_end_up_in_the_catalogue()
|
||||
{
|
||||
var catalog = new ModelPricingCatalog();
|
||||
catalog.Load([
|
||||
@@ -146,13 +146,13 @@ public sealed class ModelPricingTests
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Ein_leerer_Katalog_kennt_kein_Modell()
|
||||
public void An_empty_catalogue_knows_no_model()
|
||||
{
|
||||
new ModelPricingCatalog().Estimate("beliebig", 1000, 100).IsKnown.ShouldBeFalse();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Erneutes_Laden_aktualisiert_die_Preise()
|
||||
public void Reloading_updates_the_prices()
|
||||
{
|
||||
var catalog = CatalogWith(("m", 1m, 2m));
|
||||
catalog.Load([new ModelInfo { Id = "m", Pricing = new ModelPricing(5m, 10m) }]);
|
||||
|
||||
Reference in New Issue
Block a user