Exemplo n.º 1
0
        public IGivenThen <TArgsBuilder, TArgsBuilder> HasValue <TParam>(TParam value, Func <string, TParam>?parser = null)
        {
            TArgsBuilder?result = default;

            return(new GivenThenBuilder <TArgsBuilder, TArgsBuilder>(
                       ThenExpressionBuilt,
                       argsBuilder,
                       () => result ?? throw new Exception("Resulting builder not defined!")));

            void ThenExpressionBuilt(IParsable parsable)
            {
                result = stepWrapper(new GivenParameterStep(
                                         previousStep,
                                         GivenParameter.HasValue(name, typeof(TParam), value !, GetParser()),
                                         parsable as IParsableFromState ?? throw new Exception("TODO")));
            }

            Func <string, object>?GetParser()
            {
                if (parser == null)
                {
                    return(null);
                }

                return(s => parser !(s) !);
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Method for calculating the default values of derived parameters.
 /// </summary>
 public void CalculateDefaults()
 {
     if (!Delay.Given)
     {
         Delay = new GivenParameter <double>(NormalizedLength / Frequency, false);
     }
     Admittance = 1.0 / Impedance;
 }
Exemplo n.º 3
0
        public IGivenThen <TArgsBuilder, TArgsBuilder> Exists()
        {
            TArgsBuilder?result = default;

            return(new GivenThenBuilder <TArgsBuilder, TArgsBuilder>(
                       ThenExpressionBuilt,
                       argsBuilder,
                       () => result ?? throw new Exception("Resulting builder not defined!")));

            void ThenExpressionBuilt(IParsable parsable)
            {
                result = stepWrapper(new GivenParameterStep(
                                         previousStep,
                                         GivenParameter.Exists(name),
                                         parsable as IParsableFromState ?? throw new Exception("TODO")));
            }
        }
Exemplo n.º 4
0
 public GivenParameterStep(Step previous, GivenParameter description, IParsableFromState thenStep)
     : base(previous)
 {
     Description = description;
     ThenStep    = thenStep;
 }