コード例 #1
0
 public static NumberPipelineResult IfNotContainsAppendValue(this NumberPipelineResult currentValue, string possibleValueToAdd)
 => currentValue.NumberOrTextResult.Contains(possibleValueToAdd) ?
 currentValue :
 new NumberPipelineResult
 {
     Input = currentValue.Input,
     NumberOrTextResult = $"{currentValue.NumberOrTextResult}{possibleValueToAdd}"
 };
コード例 #2
0
 public override string HandleNumber(NumberPipelineResult input) =>
 input.ContainsValue(5, () => input.IfNotContainsAppendValue("Buzz"))
 .ManageHandler(NextHandler);
コード例 #3
0
 public static string GetNumberPipelineResult(this NumberPipelineResult s) =>
 string.IsNullOrEmpty(s.NumberOrTextResult)
                         ? s.Input.ToString()
                         : s.NumberOrTextResult;
コード例 #4
0
 public static string ManageHandler(this NumberPipelineResult s, IHandler nextHandler)
 => nextHandler.HandleNumber(s);
コード例 #5
0
 public static NumberPipelineResult ContainsValue(this NumberPipelineResult s, int value, Func <NumberPipelineResult> f)
 {
     return(!s.Input.ContainsNumber(value) ? s : f());
 }
コード例 #6
0
 public static NumberPipelineResult VerifyIsDivisible(this NumberPipelineResult s, int divisor, Func <NumberPipelineResult> f)
 {
     return(!s.Input.IsDivisible(divisor) ? s : f());
 }
コード例 #7
0
 public override string HandleNumber(NumberPipelineResult input) =>
 input.VerifyIsDivisible(3, () => input.IfNotContainsPrependValue("Fizz"))
 .ManageHandler(NextHandler);