Exemplo n.º 1
0
 protected void ExecuteAllReaders(TimeArg <I> arg)
 {
     foreach (var reader in Readers)
     {
         reader(arg);
     }
 }
Exemplo n.º 2
0
        public override void EvaluateInternal(H holder, MemberInfo groupKey)
        {
            // вычисляем переменную из котрой следует получить значения
            CalculatedVariable <H, T, I> basedVar = (CalculatedVariable <H, T, I>)DependsOn.Single();

            basedVar.Evaluate(holder, groupKey, LastMoniker);

            // для каждого периода времени вычисляем значение переменной
            foreach (var tp in Period.Periods.Select((t, i) => new TimeArg <I>(t, i, groupKey, Period.Name, this.Name)))
            {
                I        next      = Period.Periods.FirstOrDefault(p => Operator.GreaterThan(p, tp.T));
                var      subPeriod = basedVar.Period.Between(tp.T, next);
                List <T> result    = Activator.CreateInstance <List <T> >();
                Int32    c         = 0;
                foreach (I s in subPeriod)
                {
                    var ta = new TimeArg <I>(s, c++, groupKey, basedVar.Period.Name, basedVar.Name);
                    result.Add((T)basedVar.Results[ta]);
                }

                Results.Add(tp, result);
                // если требуется вернуть значение переменной, то записываем результат в свойство
                // holder, это свойство будет содержить список значений всех переменных на момент времени t
                if (Readers.Any())
                {
                    ApplyValueForHolder(holder, tp);
                    ExecuteAllReaders(tp);
                }
            }
        }
Exemplo n.º 3
0
        public void Should_Stringify_WithFormat(TimeArg arg, string format, string expectedString)
        {
            var stringified = arg.ToString(new Dictionary <string, string> {
                { "format", format }
            });

            Assert.Equal(expectedString, stringified);
        }
Exemplo n.º 4
0
        public void Should_Stringify_Dates_WithCulture(TimeArg arg, string culture, string expectedString)
        {
            var stringified = arg.ToString(new Dictionary <string, string> {
                { "culture", culture }
            });

            Assert.Equal(expectedString, stringified);
        }
Exemplo n.º 5
0
        public void Should_Stringify_Times_WithFormatAndCulture(TimeArg arg, string format, string culture, string expectedString)
        {
            var stringified = arg.ToString(new Dictionary <string, string> {
                { "format", format }, { "culture", culture }
            });

            Assert.Equal(expectedString, stringified);
        }
Exemplo n.º 6
0
        public override void ApplyValueForHolder(H holder, TimeArg <I> tp)
        {
            T result;

            if (this.Period is ConstantPeriod <I> )
            {
                result = Results.Values.Single();
            }
            else
            {
                result = Results[tp];
            }
            CompiledPropertySetter(holder, result);
        }
Exemplo n.º 7
0
 public virtual void ApplyValueForHolder(H holder, TimeArg <I> tp)
 {
 }
Exemplo n.º 8
0
        public void Should_Stringify_Default(TimeArg arg, string expectedString)
        {
            var stringified = arg.ToString(null);

            Assert.Equal(expectedString, stringified);
        }
Exemplo n.º 9
0
        public void Should_Stringify_Default(TimeArg arg, string expectedString)
        {
            var stringified = arg.ToString(null);

            stringified.Should().Be(expectedString);
        }