public void ActualPrice_FirstRangeIsLimitless_PreviousRangeTakeIntoAccount() { var consumed = 50; _tariff.Prices = new[] { new UtilityPrice(30, null, -0.123m), new UtilityPrice(0, 100, 0.91m), new UtilityPrice(100, null, 1.68m), }; var totalPrice = _tariff.ActualPrice(consumed); var expected = 30 * .91m + 20 * (-.123m); totalPrice.Should().Be(expected); }
public void ActualPrice_WithinFirstRange_ConsumedTimesPrice() { var consumed = 50; var totalPrice = _tariff.ActualPrice(consumed); var expected = consumed * _tariff.Prices.First().Price; totalPrice.Should().Be(expected); }