public void Excluding_ExcludeRegrexCharacters_ValidText() { var excludingSpecificCharacters = new Excluding(); string normalText = "abcdefghijklmnopqrstuvwxyz(){}%-_.`"; var isValidWithLowerCase = excludingSpecificCharacters.ExcludeRegrexCharacters(normalText); var isValidWithUpperCase = excludingSpecificCharacters.ExcludeRegrexCharacters(normalText.ToUpper()); Assert.True(isValidWithLowerCase); Assert.True(isValidWithUpperCase); }
///@ ~ ; ' + = , < > | / \ ? : & $ * " # [ ] public void Excluding_ExcludeRegrexCharacters_InvalidText(string specialChar) { var excludingSpecificCharacters = new Excluding(); var isValidWithSpecialChartAtTheEnd = excludingSpecificCharacters.ExcludeRegrexCharacters($"Start{specialChar}"); var isValidWithSpecicalChartAtTheStart = excludingSpecificCharacters.ExcludeRegrexCharacters($"{specialChar}End"); var isValidWithSpecicalChartInTheMidle = excludingSpecificCharacters.ExcludeRegrexCharacters($"Start{specialChar}End"); Assert.False(isValidWithSpecialChartAtTheEnd); Assert.False(isValidWithSpecicalChartAtTheStart); Assert.False(isValidWithSpecicalChartInTheMidle); }
/// <summary>税額</summary> public decimal TaxValue() => ToLong() - Excluding.ToLong();
/// <summary>引く</summary> public IncludingTax Subtract(IncludingTax rhs) => rhs.Tax.Equals(Tax) ? new IncludingTax(Excluding.Subtract(rhs.Excluding), Tax) : throw new InvalidOperationException("Tax rates are different in " + Tax.ToString() + " and " + rhs.Tax.ToString());
/// <summary>数値</summary> public long ToLong() => (long)Math.Floor(Excluding.ToLong() * (1 + Tax.ToDecimal()));