BillingTest: Use Assert.That(...) more often

This commit is contained in:
2024-01-28 20:22:38 +01:00
parent 9de7fad139
commit 8678a02318

View File

@ -71,18 +71,6 @@ namespace Tests.HelperTests {
return buckets;
}
private static string FormatBuckets(Dictionary<string, int> buckets) {
return string.Join("\r\n", buckets.OrderBy(b => b.Key));
}
private static string FormatBuckets(Dictionary<(string, string), int> buckets) {
return string.Join("\r\n", buckets.OrderBy(b => b.Key));
}
private static string FormatBuckets(Dictionary<string, AreaComBucket> buckets) {
return string.Join("\r\n", buckets.OrderBy(b => b.Key));
}
[Test]
public async Task Test_01_NoActiveAreaCommitments() {
if (Connection == null) return;
@ -121,32 +109,35 @@ namespace Tests.HelperTests {
int mgnr = MgNr1, year = Year1;
var areaCom = await GetMemberAreaCommitmentBuckets(year, mgnr);
Assert.That(FormatBuckets(areaCom), Is.EqualTo(""));
Assert.That(areaCom, Is.Empty);
var delivery = await GetMemberDeliveryBuckets(year, mgnr);
Assert.That(FormatBuckets(delivery), Is.EqualTo("""
[GV, 16000]
[GV_, 1000]
[GVB, 8000]
[GVK, 4000]
"""));
Assert.Multiple(() => {
Assert.That(delivery, Has.Count.EqualTo(4));
Assert.That(delivery["GV"], Is.EqualTo(16_000));
Assert.That(delivery["GV_"], Is.EqualTo( 1_000));
Assert.That(delivery["GVB"], Is.EqualTo( 8_000));
Assert.That(delivery["GVK"], Is.EqualTo( 4_000));
});
BillingVariant b = new(year, 1);
await b.CalculateBuckets(false, false, false);
var payment = await GetMemberPaymentBuckets(year, mgnr);
Assert.That(FormatBuckets(payment), Is.EqualTo("""
[GV_, 17000]
"""));
Assert.Multiple(() => {
Assert.That(payment, Has.Count.EqualTo(1));
Assert.That(payment["GV_"], Is.EqualTo(17_000));
});
await b.Calculate();
var prices = await GetMemberDeliveryPrices(year, mgnr);
Assert.That(FormatBuckets(prices), Is.EqualTo("""
[(20201001X001/1, GV_), 6100]
[(20201001X001/2, GV_), 5000]
[(20201001X002/1, GV_), 5400]
[(20201001X002/2, GV_), 5400]
[(20201001X003/1, GV_), 1000]
[(20201001X003/2, GV_), 5000]
"""));
Assert.Multiple(() => {
Assert.That(prices, Has.Count.EqualTo(6));
Assert.That(prices[("20201001X001/1", "GV_")], Is.EqualTo(0_6100));
Assert.That(prices[("20201001X001/2", "GV_")], Is.EqualTo(0_5000));
Assert.That(prices[("20201001X002/1", "GV_")], Is.EqualTo(0_5400));
Assert.That(prices[("20201001X002/2", "GV_")], Is.EqualTo(0_5400));
Assert.That(prices[("20201001X003/1", "GV_")], Is.EqualTo(0_1000));
Assert.That(prices[("20201001X003/2", "GV_")], Is.EqualTo(0_5000));
});
}
}
}