Convert() public method

public Convert ( object value, Type, targetType, object parameter, CultureInfo culture ) : object
value object
targetType Type,
parameter object
culture System.Globalization.CultureInfo
return object
Example #1
0
        public bool Compare(object x, object y)
        {
            var converter = new DateTimeConverter();
            var dtX       = converter.Convert(x);
            var dtY       = converter.Convert(y);

            return(Compare(dtX, dtY));
        }
        public void convert_returns_unset_value_if_value_is_not_a_date_time()
        {
            var converter = new DateTimeConverter();

            Assert.Same(DependencyProperty.UnsetValue, converter.Convert(null, null, null, null));
            Assert.Same(DependencyProperty.UnsetValue, converter.Convert("abc", null, null, null));
            Assert.Same(DependencyProperty.UnsetValue, converter.Convert(123, null, null, null));
        }
Example #3
0
        public override bool Apply(object x)
        {
            var converter = new DateTimeConverter();
            var dtX       = converter.Convert(x);
            var dtY       = converter.Convert(Reference);

            return(Compare(dtX, dtY));
        }
    public void FromDateTime()
    {
        var converter = new DateTimeConverter();
        var result    = converter.Convert(new DateTime(2020, 5, 2, 13, 14, 41, 410));

        Assert.AreEqual(new DateTime(2020, 5, 2, 13, 14, 41, 410), result);
    }
    public void InvDateTimeStringOnlyDateWithPeriodEnd()
    {
        var converter = new DateTimeConverter();
        var result    = converter.Convert("2020.5.2.");

        Assert.AreEqual(new DateTime(2020, 5, 2), result);
    }
    public void InvDateTimeStringWithoutYear2()
    {
        var converter = new DateTimeConverter();
        var result    = converter.Convert("5.2");

        Assert.AreEqual(new DateTime(DateTime.Now.Year, 5, 2), result);
    }
    public void InvDateTimeStringWithoutYear()
    {
        var converter = new DateTimeConverter();
        var result    = converter.Convert("5.2 13:14:41.410");

        Assert.AreEqual(null, result);
    }
Example #8
0
        /// <summary>
        /// Реализует парсинг команды. При успешном парсинге аргументы помещаются в
        /// </summary>
        /// <param name="args">Аргументы команды.</param>
        /// <returns>Возвращает признак того, что команда распознана.</returns>
        public bool ParseArgs(string[] args)
        {
            // Проверяем, подходит ли команда по основным параметрам.
            if (args.Length != _argumentTypes.Length + 1)
            {
                return(false);
            }

            if (!IsValid(args[0]))
            {
                return(false);
            }

            _commandArguments.Clear();

            for (int i = 0; i < _argumentTypes.Length; i++)
            {
                switch (_argumentTypes[i].Name)
                {
                case "String":
                {
                    _commandArguments.Add(args[i + 1]);
                    break;
                }

                case "Int32":
                {
                    int outInt;
                    var parsed = Int32.TryParse(args[i + 1], out outInt);

                    if (parsed)
                    {
                        _commandArguments.Add(args[i + 1]);
                    }

                    break;
                }

                case "DateTime":
                {
                    DateTime dt;
                    var      parsed = DateTime.TryParseExact(args[i + 1], DateTimeConverter.DateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);

                    if (parsed)
                    {
                        _commandArguments.Add(DateTimeConverter.Convert(dt));
                    }

                    break;
                }

                default:
                {
                    return(false);
                }
                }
            }

            return(_argumentTypes.Length == _commandArguments.Count);
        }
    public void InvDateTimeString()
    {
        var converter = new DateTimeConverter();
        var result    = converter.Convert("2020.05.02 13:14:41.410");

        Assert.AreEqual(new DateTime(2020, 5, 2, 13, 14, 41, 410), result);
    }
Example #10
0
        public void TestNanosecondPrecision()
        {
            // seeded DateTime
            DateTime dt = DateTime.SpecifyKind(makeDateTime(2002, 12, 01, 11, 03, 05, 231, 116, 500), DateTimeKind.Utc);

            // convert nanosecond DateTime to string with option
            Assert.That(DateTimeConverter.Convert(dt, TimeStampPrecision.Nanosecond), Is.EqualTo("20021201-11:03:05.231116500"));

            // convert nanosecond DateTime to time-only string
            Assert.That(DateTimeConverter.ConvertTimeOnly(dt, TimeStampPrecision.Nanosecond), Is.EqualTo("11:03:05.231116500"));

            // convert nanosecond time string to DateTime time portion only
            DateTime timeOnly = makeTimeOnly(11, 03, 05, 231, 116, 500);

            Assert.That(DateTimeConverter.ConvertToTimeOnly("11:03:05.231116500", TimeStampPrecision.Nanosecond), Is.EqualTo(timeOnly));

            // convert nanosecond time string to full DateTime
            Assert.That(DateTimeConverter.ConvertToDateTime("20021201-11:03:05.231116500", TimeStampPrecision.Nanosecond), Is.EqualTo(dt));

            // convert nanosecond time with UTC time zone to full DateTime
            Assert.That(DateTimeConverter.ConvertToDateTime("20021201-11:03:05.231116500Z", TimeStampPrecision.Nanosecond), Is.EqualTo(dt));

            // convert nanosecond time with non-UTC positive offset time zone to full DateTime
            Assert.That(DateTimeConverter.ConvertToDateTime("20021201-06:03:05.231116500+05", TimeStampPrecision.Nanosecond), Is.EqualTo(dt));

            // convert nanosecond time with non-UTC negative offset time zone to full DateTime
            Assert.That(DateTimeConverter.ConvertToDateTime("20021201-08:03:05.231116500-03", TimeStampPrecision.Nanosecond), Is.EqualTo(dt));

            // convert nanosecond time in local time (no time zone) to full DateTime
            DateTime local = DateTime.SpecifyKind(makeDateTime(2002, 12, 01, 11, 03, 05, 231, 116, 500), DateTimeKind.Local);

            Assert.That(DateTimeConverter.ConvertToDateTime("20021201-11:03:05.231116500", TimeStampPrecision.Nanosecond), Is.EqualTo(local));
        }
        public void When_Convert_is_called_with_a_null_datetime_string_then_the_result_is_a_valid_DateTime_instance()
        {
            var converter = new DateTimeConverter();
            var result = converter.Convert(null);

            Assert.IsFalse(result.HasValue);
        }
        private static void DateTimePropertyChanged(BindableObject bindable, object oldValue, object newValue)
        {
            DetailedCell cell = (DetailedCell)bindable;

            Device.BeginInvokeOnMainThread(() =>
            {
                if (newValue != null && !string.IsNullOrWhiteSpace(newValue.ToString()))
                {
                    DateTimeConverter converter = new DateTimeConverter();
                    string date             = newValue.ToString().Split(' ')[0];
                    string time             = newValue.ToString().Split(' ')[1];
                    int day                 = int.Parse(date.Split('/')[0]);
                    int month               = int.Parse(date.Split('/')[1]);
                    int year                = int.Parse(date.Split('/')[2]);
                    int hour                = int.Parse(time.Split(':')[0]);
                    int minute              = int.Parse(time.Split(':')[1]);
                    int second              = int.Parse(time.Split(':')[2]);
                    object fdt              = converter.Convert(new DateTime(year, month, day, hour, minute, second), typeof(string), null, CultureInfo.CurrentCulture);
                    cell.DateTimeLabel.Text = fdt.ToString();
                }
                else
                {
                    cell.DateTimeLabel.Text = "";
                }
                if (string.IsNullOrWhiteSpace(newValue.ToString()))
                {
                    Grid.SetRowSpan(cell.TitleLabel, 2);
                }
                else
                {
                    Grid.SetRowSpan(cell.TitleLabel, 1);
                }
            });
        }
Example #13
0
        public bool Apply(object x)
        {
            var converter = new DateTimeConverter();
            var dtX       = converter.Convert(x);

            return((dtX.TimeOfDay.Ticks) == 0);
        }
Example #14
0
        public void ConvertToDateTimeTest(string time, int year, int momth, int day, int hour, int minute, int seconds, int millisec)
        {
            DateTime expected = new DateTime(year, momth, day, hour, minute, seconds, millisec).ToLocalTime();
            DateTime actual   = _dateTimeConverter.Convert(time);

            Assert.AreEqual(expected, actual);
        }
Example #15
0
        public void ShouldConvertNullDateTime()
        {
            var converter = new DateTimeConverter();

            var result = converter.Convert(null, null, null, null);

            Assert.IsNull(result);
        }
Example #16
0
        public void DateTimeTest()
        {
            DateTimeConverter dtc = new DateTimeConverter();

            DateTime actual = (DateTime)dtc.Convert("2019-10-19 13:01:21");

            Assert.AreEqual(new DateTime(2019, 10, 19, 13, 1, 21), actual);
        }
        public void When_Convert_is_called_with_an_invalid_datetime_string_then_the_result_is_a_valid_DateTime_instance()
        {
            const string soundCloudDateTime = "20090813 18:30:10 +0000";
            var converter = new DateTimeConverter();
            var result = converter.Convert(soundCloudDateTime);

            Assert.IsFalse(result.HasValue);
        }
        public void HandleNull()
        {
            var converter = new DateTimeConverter();

            var result = converter.Convert(null);

            Assert.Null(result);
        }
Example #19
0
        public void Convert_Success()
        {
            //Act
            var testValue = converter.Convert(testDate, typeof(string), null, null).ToString();

            //Assert
            Assert.Equal("Stycznia 01", testValue);
        }
Example #20
0
    void AddLogs(IEnumerable<Pack> Packs) {
      StringBuilder sb = new StringBuilder();
      DateTimeConverter DateTimeConverter = new DateTimeConverter();
      PackNameConverter PackNameConverter = new PackNameConverter();
      string sep = ",";

      foreach(Pack Pack in Packs) {
        sb.Clear();

        string date = DateTimeConverter.Convert(Pack.Time, null, null, null).ToString();
        string packname = PackNameConverter.Convert(Pack.Id, null, null, null).ToString();
        int commons = Pack.Cards.Count(x => x.Rarity == Rarity.COMMON);
        int commonGolds = commons > 0 ? Pack.Cards.Count(x => x.Premium && x.Rarity == Rarity.COMMON) : 0;
        int rares = Pack.Cards.Count(x => x.Rarity == Rarity.RARE);
        int rareGolds = rares > 0 ? Pack.Cards.Count(x => x.Premium && x.Rarity == Rarity.RARE) : 0;
        int epics = Pack.Cards.Count(x => x.Rarity == Rarity.EPIC);
        int epicGolds = epics > 0 ? Pack.Cards.Count(x => x.Premium && x.Rarity == Rarity.EPIC) : 0;
        int legendarys = Pack.Cards.Count(x => x.Rarity == Rarity.LEGENDARY);
        int legendaryGolds = legendarys > 0 ? Pack.Cards.Count(x => x.Premium && x.Rarity == Rarity.LEGENDARY) : 0;

        SolidColorBrush Color = null as SolidColorBrush;
        if(legendarys > 0) {
          Color = Legendary;
        }
        else if(epics > 0) {
          Color = Epic;
        }
        else {
          Color = Rare;
        }

        sb
          .Append(date).Append(": ")
          .Append(packname).Append("(")
          .Append(commons);
        AddGoldStars(commonGolds, Color, sb);

        sb
          .Append(sep)
          .Append(rares);
        AddGoldStars(rareGolds, Color, sb);

        sb
          .Append(sep)
          .Append(epics);
        AddGoldStars(epicGolds, Color, sb);

        sb
          .Append(sep)
          .Append(legendarys);
        AddGoldStars(legendaryGolds, Color, sb);

        sb.AppendLine(")");
        txt_Log.Inlines.Add(new Run(sb.ToString()) { Foreground = Color });
      }

      sv_Scrollbar.ScrollToEnd();
    }
        public async Task ProcessMessageAsync(object obj)
        {
            var book = obj as InOrderBook;

            if (!book.IsValid())
            {
                _log.WriteWarning(nameof(MessageProcessor), nameof(Convert), $"Orderbook {book.ToJson()} is invalid!");
            }

            decimal bestPrice = 0;

            if (book.Prices != null && book.Prices.Count > 0)
            {
                bestPrice = book.IsBuy
                    ? (decimal)book.Prices.Max(p => p.Price)
                    : (decimal)book.Prices.Min(p => p.Price);
            }

            var orderbook = new OutOrderbook
            {
                AssetPairId = book.AssetPair,
                IsBuy       = book.IsBuy,
                Timestamp   = DateTimeConverter.Convert(book.Timestamp),
                BestPrice   = bestPrice,
            };

            if (!_minutesDict.ContainsKey(book.AssetPair))
            {
                _minutesDict.Add(book.AssetPair, new Dictionary <int, string>());
            }
            var assetPairDict = _minutesDict[book.AssetPair];
            int minuteKey     = GetMinuteKey(book.Timestamp);

            var allCount = _minutesDict.Sum(i => i.Value.Values.Sum(k => k.Length));

            if (allCount >= _maxBatchCount)
            {
                var allOtherMinutesItems = new List <string>();
                foreach (var pair in _minutesDict)
                {
                    foreach (var key in pair.Value.Keys.ToArray())
                    {
                        if (key == minuteKey)
                        {
                            continue;
                        }

                        allOtherMinutesItems.Add(pair.Value[key]);
                        pair.Value.Remove(key);
                    }
                }
                await _messagesHandler(StructureBuilder.MainContainer, allOtherMinutesItems);
            }

            assetPairDict[minuteKey] = orderbook.GetValuesString();
        }
    public void FromEpochDouble()
    {
        var converter = new DateTimeConverter()
        {
            EpochDate = new DateTime(1900, 1, 1)
        };
        var result = converter.Convert(12.5d);

        Assert.AreEqual(new DateTime(1900, 1, 13, 12, 0, 0, 0), result);
    }
Example #23
0
        public void ShouldConvertDateTimeToShortDateString()
        {
            var dateTime = new DateTime(2008, 12, 3);

            var converter = new DateTimeConverter();

            var result = converter.Convert(dateTime, null, null, null);

            Assert.AreEqual(DateTime.Parse("2008-12-03").ToShortDateString(), result);
        }
Example #24
0
        public void DateTimeFormatTest()
        {
            DateTimeConverter dtc = new DateTimeConverter();

            dtc.Format = "HH?ss?mm MM=dd=yyyy";

            DateTime actual = (DateTime)dtc.Convert("19?21?54 10=18=2018");

            Assert.AreEqual(new DateTime(2018, 10, 18, 19, 54, 21), actual);
        }
Example #25
0
        public void ShouldConvertDateTimeToShortDateString()
        {
            var dateTime = new DateTime(2008, 12, 3);

            var converter = new DateTimeConverter();

            var result = converter.Convert(dateTime, null, null, null);

            Assert.AreEqual("12/3/2008", result);
        }
        public void HandleNullableDateTimesWithNoValue()
        {
            DateTime?input = null;

            var converter = new DateTimeConverter();

            var result = converter.Convert(input);

            Assert.Null(result);
        }
    public void FromEpochInvString()
    {
        var converter = new DateTimeConverter()
        {
            EpochDate = new DateTime(1900, 1, 1)
        };
        var result = converter.Convert("1215.5");

        Assert.AreEqual(new DateTime(1903, 5, 1, 12, 0, 0, 0), result);
    }
        public void HandleDateTimes()
        {
            DateTime input = new DateTime(2000, 1, 1);

            var converter = new DateTimeConverter();

            var result = converter.Convert(input);

            Assert.Equal("01/01/2000 00:00:00", result);
        }
        public void Convert_DateTimeParsableObject()
        {
            var converter = new DateTimeConverter();

            var converted = converter.Convert("2018-11-20",
                                              typeof(string),
                                              null,
                                              CultureInfo.GetCultureInfo("en-US"));

            Assert.Equal("Tuesday, November 20, 2018 (11/20/2018)", converted);
        }
        public void CanConvertFromDateTimeWithMicrosecondsToValidStringWithMicroSecondPrecision()
        {
            //GIVEN - a datetime object with microseconds
            var dateTime = new DateTime(2017, 03, 05, 13, 22, 12, 123, DateTimeKind.Utc) + new TimeSpan(4560);

            //WHEN - it is serialised to a string with microsecond precision
            var serialisedDateTime = DateTimeConverter.Convert(dateTime, TimeStampPrecision.Microsecond);

            //THEN - the serialised string contains microseconds
            Assert.AreEqual("20170305-13:22:12.123456", serialisedDateTime);
        }
        public void Convert_ObjectDateTimeCanNotParse()
        {
            var converter = new DateTimeConverter();

            var converted = converter.Convert(Guid.Empty,
                                              typeof(string),
                                              null,
                                              CultureInfo.GetCultureInfo("en-US"));

            Assert.Null(converted);
        }
Example #32
0
        public void DateTimeConverterTest()
        {
            var dateString  = "10/31/1990";
            var cultureInfo = CultureInfo.InvariantCulture;
            var date        = DateTime.Parse(dateString, cultureInfo);
            var converter   = new DateTimeConverter();
            var result      = converter.Convert(date, null, null, cultureInfo);

            Assert.AreEqual(result, date.ToString(
                                cultureInfo.DateTimeFormat.ShortDatePattern, cultureInfo));
        }
        public void ShouldConvert()
        {
            // Arrange
            IValueConverter dateTimeConverter = new DateTimeConverter();

            var input = new DateTime(2014, 8, 26, 18, 0, 0);
            var expectedValue = (input).ToLocalTime().ToString(DefaultFormat, CultureInfo.CurrentUICulture);
            
            // Act
            var convertedOutput = dateTimeConverter.Convert(input, typeof(string), null, CultureInfo.CurrentUICulture);

            // Assert
            Assert.Equal(expectedValue, convertedOutput);
        }
        public void When_Convert_is_called_with_a_valid_datetime_string_then_the_result_is_a_valid_DateTime_instance()
        {
            const string soundCloudDateTime = "2009/08/13 18:30:10 +0000";
            var converter = new DateTimeConverter();
            var result = converter.Convert(soundCloudDateTime);

            Assert.IsTrue(result.HasValue);

            Assert.AreEqual(2009, result.Value.Year);
            Assert.AreEqual(8, result.Value.Month);
            Assert.AreEqual(13, result.Value.Day);
            Assert.AreEqual(18, result.Value.Hour);
            Assert.AreEqual(30, result.Value.Minute);
            Assert.AreEqual(10, result.Value.Second);
        }