Пример #1
0
        public void Day()
        {
            date = new DateOffset(null, null, now.Day);
            var str = DateOffsetFormatter.GetPartialDateString(date);

            Assert.AreEqual(now.ToString("d MMMM yyyy"), str);
        }
Пример #2
0
        public void Month()
        {
            date = new DateOffset(null, now.Month, null);

            var str = DateOffsetFormatter.GetPartialDateString(date);

            Assert.AreEqual(now.ToString(System.Globalization.DateTimeFormatInfo.CurrentInfo.MonthNames[now.Month - 1].ToLower() + " yyyy"), str);
        }
Пример #3
0
        public void LtOrEqual()
        {
            // 2013.12 <= 2014.02
            var date1 = new DateOffset(2013, 12, null, getNow);
            var date2 = new DateOffset(2014, 02, 0, getNow);

            Assert.IsTrue(date1 <= date2);
        }
Пример #4
0
        public void Year()
        {
            date = new DateOffset(now.Year, null, null);

            var str = DateOffsetFormatter.GetPartialDateString(date);

            Assert.AreEqual(now.ToString("yyyy"), str);
        }
Пример #5
0
        public void LtSameUnitMonth()
        {
            // 2013.12 < 2014.02
            var date1 = new DateOffset(2013, 12, null, getNow);
            var date2 = new DateOffset(2014, 02, 0, getNow);

            Assert.IsTrue(date1 < date2);
        }
Пример #6
0
        public void LtMonthYear()
        {
            // 40 месяцев назад < 2 года назад
            var date1 = new DateOffset(40, DateUnit.Month, getNow);
            var date2 = new DateOffset(2, DateUnit.Year, getNow);

            Assert.IsTrue(date1 < date2);
        }
Пример #7
0
        public void LtSameUnitDay()
        {
            // 40 дней назад < сейчас
            var date1 = new DateOffset(40, DateUnit.Day, getNow);
            var date2 = new DateOffset(0, DateUnit.Day, getNow);

            Assert.IsTrue(date1 < date2);
        }
Пример #8
0
        public void SetNow()
        {
            var d = new DateOffset(2014, 1, null);

            d.Now = new DateTime(2014, 11, 4);

            Assert.AreEqual(10, d.Offset);
        }
Пример #9
0
        public void GtDayYear()
        {
            // 40 дней назад > год назад
            var date1 = new DateOffset(40, DateUnit.Day, getNow);
            var date2 = new DateOffset(1, DateUnit.Year, getNow);

            Assert.IsTrue(date1 > date2);
        }
Пример #10
0
        public void CompareWithWeek()
        {
            // сейчас > 2 недели назад
            var date1 = new DateOffset(getNow(), getNow);
            var date2 = new DateOffset(2, DateUnit.Week, getNow);

            Assert.IsTrue(date1 > date2);
        }
Пример #11
0
        public void SetMonthNull()
        {
            date       = new DateOffset(offset, DateUnit.Day, getNow);
            date.Month = null;

            Assert.IsTrue(date.Offset == 0);
            Assert.IsTrue(date.Unit == DateUnit.Year);
        }
Пример #12
0
 public void DateNone()
 {
     date = new DateOffset(null, null, null);
     Assert.IsNull(date.Offset);
     Assert.IsNull(date.Year);
     Assert.IsNull(date.Month);
     Assert.IsNull(date.Day);
 }
Пример #13
0
        public void EqualSameMonth()
        {
            var date1 = new DateOffset(2, DateUnit.Month, getNow);
            var date2 = new DateOffset(2014, 2, null, getNow);

            Assert.IsTrue(date1 == date2);
            Assert.AreEqual(date1, date2);
        }
Пример #14
0
        public void EqualSameDay()
        {
            var date1 = new DateOffset(2013, 12, 1, getNow);
            var date2 = new DateOffset(2013, 12, 1, getNow);

            Assert.IsTrue(date1 == date2);
            Assert.AreEqual(date1, date2);
        }
Пример #15
0
        public void RelativeNowIsMaxDate2()
        {
            var date1 = new DateOffset(2013, null, null, getNow);
            var date2 = new DateOffset(2010, 1, null, getNow);

            var r = date1.RelativeTo(date2);

            Assert.AreEqual(date1.GetSortingDate(), r.Now);
        }
Пример #16
0
        public void RelativeNullYear()
        {
            var date1 = new DateOffset(null, null, null, getNow);
            var date2 = new DateOffset(2011, null, null, getNow);

            var r = date1.RelativeTo(date2);

            Assert.AreEqual(null, r.Offset);
        }
Пример #17
0
        public void FillOffset()
        {
            var date = new DateOffset(null, null, null, getNow);

            date.Offset = 5;

            Assert.AreEqual(5, date.Offset);
            Assert.AreEqual(DateUnit.Day, date.Unit);
        }
Пример #18
0
        public void SetDay()
        {
            date = new DateOffset(offset, DateUnit.Day, getNow);

            date.Day = getNow().Day;

            Assert.IsTrue(date.Offset == 31); // days in 3 month
            Assert.IsTrue(date.Unit == DateUnit.Day);
        }
Пример #19
0
        public void LtGtNull()
        {
            // 5 лет назад > пустая дата
            var date1 = new DateOffset(null, DateUnit.Month, getNow);
            var date2 = new DateOffset(5, DateUnit.Year, getNow);

            Assert.IsFalse(date1 > date2);
            Assert.IsTrue(date1 < date2);
        }
Пример #20
0
        public void EqualByDateValue()
        {
            //
            var date1 = new DateOffset(2013, 5, 5, getNow);
            var date2 = new DateOffset(2013, 5, 5, () => new DateTime(2013, 5, 1));

            Assert.IsTrue(date1 == date2);
            Assert.AreEqual(date1, date2);
        }
Пример #21
0
        public void RelativeMonthDay()
        {
            var date1 = new DateOffset(2013, 12, null, getNow);
            var date2 = new DateOffset(2014, 1, 1, getNow);

            var r = date1.RelativeTo(date2);

            Assert.AreEqual(1, r.Offset);
            Assert.AreEqual(DateUnit.Month, r.Unit);
        }
Пример #22
0
        public void RelativeDayYear()
        {
            var date1 = new DateOffset(2013, 12, 1, getNow);
            var date2 = new DateOffset(2014, null, null, getNow);

            var r = date1.RelativeTo(date2);

            Assert.AreEqual(1, r.Offset);
            Assert.AreEqual(DateUnit.Year, r.Unit);
        }
Пример #23
0
        public void AddDay()
        {
            var date = new DateOffset(2012, 2, 29);

            date.Add(-68, DateUnit.Day);

            Assert.IsTrue(date.Year == 2011);
            Assert.IsTrue(date.Month == 12);
            Assert.IsTrue(date.Day == 23);
        }
Пример #24
0
        public void AddWeek()
        {
            var date = new DateOffset(2012, 1, 1);

            date.Add(5, DateUnit.Week);

            Assert.IsTrue(date.Year == 2012);
            Assert.IsTrue(date.Month == 2);
            Assert.IsTrue(date.Day == 5);
        }
Пример #25
0
        public void AddMonth()
        {
            var date = new DateOffset(2012, 2, 29);

            date.Add(1, DateUnit.Month);

            Assert.IsTrue(date.Year == 2012);
            Assert.IsTrue(date.Month == 3);
            Assert.IsTrue(date.Day == 29);
        }
Пример #26
0
        public void AddYear29Feb()
        {
            var date = new DateOffset(2012, 2, 29);

            date.Add(1, DateUnit.Year);

            Assert.IsTrue(date.Year == 2013);
            Assert.IsTrue(date.Month == 2);
            Assert.IsTrue(date.Day == 28);
        }
Пример #27
0
        public void AddYear()
        {
            var date = new DateOffset(2010, 2, null);

            date.Add(-2, DateUnit.Year);

            Assert.IsTrue(date.Year == 2008);
            Assert.IsTrue(date.Month == 2);
            Assert.IsTrue(date.Day == null);
        }
Пример #28
0
        public void FillYear()
        {
            var date = new DateOffset(null, null, null, getNow);

            date.Year = 2014;

            Assert.AreEqual(null, date.Day);
            Assert.AreEqual(null, date.Month);
            Assert.AreEqual(2014, date.Year);
        }
Пример #29
0
        public void DateTimeCtor()
        {
            date = new DateOffset(now);

            Assert.IsTrue(date.Offset == 0);
            Assert.IsTrue(date.Unit == DateUnit.Day);
            Assert.IsTrue(date.Year == now.Year);
            Assert.IsTrue(date.Month == now.Month);
            Assert.IsTrue(date.Day == now.Day);
        }
Пример #30
0
        public void OffsetNull()
        {
            date = new DateOffset(null, DateUnit.Day);

            Assert.IsTrue(date.Offset == null);
            Assert.IsTrue(date.Unit == DateUnit.Day);
            Assert.IsTrue(date.Year == null);
            Assert.IsTrue(date.Month == null);
            Assert.IsTrue(date.Day == null);
        }
Пример #31
0
        public void GivenTheMarketVolatilityForUnderlying(string underlying, DateOffset since, double volatility)
        {
            int days = 0;
            if(since.Type == DateOffsetType.MONTH)
            {
                days = (int)this.dateService.Now.AddMonths(since.Offset).Subtract(this.dateService.Now).TotalDays;
            }
            else if(since.Type == DateOffsetType.YEAR)
            {
                days = (int)this.dateService.Now.AddYears(since.Offset).Subtract(this.dateService.Now).TotalDays;
            }

            this.pricer.MarketDataService.Stub(m => m.GetHistoricalVolatility(underlying, this.dateService.Now, days)).Return(volatility);
        }
Пример #32
0
        private DateOffset ParseOffset(string offsetString)
        {
            var result = new DateOffset();

            var maturityRegex = new Regex("([0-9]*) ([A-Za-z]*)");
            var regexMatch = maturityRegex.Match(offsetString);
            if (!regexMatch.Success)
            {
                throw new ArgumentException("Invalid maturity");
            }

            var typeString = regexMatch.Groups[2].Value;
            result.Offset = int.Parse(regexMatch.Groups[1].Value);

            var now = this.dateService.Now;

            if (typeString.Equals("months", StringComparison.OrdinalIgnoreCase) || typeString.Equals("month", StringComparison.OrdinalIgnoreCase))
            {
                result.Type = DateOffsetType.MONTH;
            }
            else if (typeString.Equals("years", StringComparison.OrdinalIgnoreCase) || typeString.Equals("year", StringComparison.OrdinalIgnoreCase))
            {
                result.Type = DateOffsetType.YEAR;
            }
            else
            {
                throw new ArgumentException("Invalid maturity");
            }

            return result;
        }