Пример #1
0
 private static PreprocessedData Preprocess(Operator op, IEnumerable <LdValue> values)
 {
     if (op == Operator.In)
     {
         return(new PreprocessedData {
             ValuesAsSet = values.ToImmutableHashSet()
         });
     }
     if (op == Operator.Matches)
     {
         return(PreprocessValues(values, value =>
                                 value.IsString ? new PreprocessedValue {
             Regex = new Regex(value.AsString)
         } :
                                 new PreprocessedValue()));
     }
     if (op == Operator.Before || op == Operator.After)
     {
         return(PreprocessValues(values, value =>
                                 new PreprocessedValue {
             DateTime = Operator.ValueToDate(value)
         }));
     }
     if (op == Operator.SemVerEqual || op == Operator.SemVerGreaterThan || op == Operator.SemVerLessThan)
     {
         return(PreprocessValues(values, value =>
                                 new PreprocessedValue {
             SemVer = Operator.ValueToSemVer(value)
         }));
     }
     return(new PreprocessedData());
 }
Пример #2
0
        public void CanParseUnixMillis()
        {
            var timestampMillis  = 1000;
            var actualDateTime   = Operator.ValueToDate(LdValue.Of(timestampMillis));
            var expectedDateTime = new DateTime(1970, 1, 1, 0, 0, 1, DateTimeKind.Utc);

            Assert.Equal(expectedDateTime, actualDateTime);
        }
Пример #3
0
        public void CanParseTimestampFromTimezone()
        {
            var timestamp        = "1970-01-01T00:00:00-01:00";
            var actualDateTime   = Operator.ValueToDate(LdValue.Of(timestamp));
            var expectedDateTime = new DateTime(1970, 1, 1, 1, 0, 0, DateTimeKind.Utc);

            Assert.Equal(expectedDateTime, actualDateTime);
        }