Example #1
0
        /// <summary>
        /// MainWindow のコンストラクター。
        /// </summary>
        public MainWindow()
        {
            InitializeComponent();


            var customHoliday = new CustomHoliday();

            customHoliday.Holidays = CustomHolidaysParser.Deserialize(Properties.Settings.Default.CustumHolidaysString);

            var dtEvtSrc = new DateTimeEventSource()
            {
                HolidayChecker = HolidayChecker.GetHolidayChecker()
            };

            dtEvtSrc.HolidayChecker.CustomHoliday = customHoliday;
            if (dtEvtSrc.HolidayChecker is HolidayChecker_ja_JP hc_ja_JP)
            {
                hc_ja_JP.IsAddHolidayNameToObservedHolidayName = true;
            }

            // カレンダー ウィンドウの生成
            var calendarWindow = new CalendarWindow();

            viewModel = new MainWindowViewModel(this.Dispatcher, calendarWindow.Dispatcher)
            {
                DateTimeEventSource          = dtEvtSrc,
                PrimaryScreenSizeEventSource = new PrimaryScreenSizeEventSource(),
                SettingsWrapper = new SettingsWrapper()
                {
                    Settings = Properties.Settings.Default
                }
            };

            viewModel.VerticalAlignment                   = (VerticalAlignment)Properties.Settings.Default.VerticalAlignment;
            viewModel.HorizontalAlignment                 = (HorizontalAlignment)Properties.Settings.Default.HorizontalAlignment;
            viewModel.VerticalMarginNumber                = Properties.Settings.Default.VerticalMarginNumber;
            viewModel.IsPercentVertical                   = Properties.Settings.Default.IsPercentVertical;
            viewModel.HorizontalMarginNumber              = Properties.Settings.Default.HorizontalMarginNumber;
            viewModel.IsPercentHorizontal                 = Properties.Settings.Default.IsPercentHorizontal;
            viewModel.ConsecutiveHolidaysMessageFormat    = (string)Application.Current.FindResource("CONSECTIVE_HOLIDAYS_MESSAGE_TOMMOROW");
            viewModel.ConsecutiveHolidaysMessageDATFormat = (string)Application.Current.FindResource("CONSECTIVE_HOLIDAYS_MESSAGE_DAT");

            this.DataContext = viewModel;

            // カレンダー ウィンドウの表示
            calendarWindow.DataContext = viewModel;
            calendarWindow.Show();
        }
        public void IsHolidayCanHandleSingleYear()
        {
            var startYear    = 2000;
            var howManyYears = 1;

            var newYears2000 = new DateTime(startYear, 1, 1);
            var newYears2001 = new DateTime(startYear + 1, 1, 1);
            var newYears1999 = new DateTime(startYear - 1, 1, 1);

            var sut = new HolidayChecker(startYear, howManyYears);

            Assert.IsTrue(sut.IsHoliday(newYears2000));

            Assert.IsFalse(sut.IsHoliday(newYears2001));
            Assert.IsFalse(sut.IsHoliday(newYears1999));
        }
        public void IsHolidayCanHandleMultipleYears()
        {
            var startYear    = 2000;
            var howManyYears = 3;

            var newYears2000 = new DateTime(startYear, 1, 1);
            var newYears2001 = new DateTime(startYear + 1, 1, 1);
            var newYears2002 = new DateTime(startYear + 2, 1, 1);
            var newYears2003 = new DateTime(startYear + 3, 1, 1);
            var newYears1999 = new DateTime(startYear - 1, 1, 1);

            var sut = new HolidayChecker(startYear, howManyYears);

            Assert.IsTrue(sut.IsHoliday(newYears2000));
            Assert.IsTrue(sut.IsHoliday(newYears2001));
            Assert.IsTrue(sut.IsHoliday(newYears2002));

            Assert.IsFalse(sut.IsHoliday(newYears2003));
            Assert.IsFalse(sut.IsHoliday(newYears1999));
        }
        public void GetHolidayName_IfNomalDayAndCustomHoliday_RerturnsCustomHolidayName()
        {
            // arrange
            var hChecker = (HolidayChecker_ja_JP)HolidayChecker.GetHolidayChecker("ja-JP");

            hChecker.CustomHoliday          = new CustomHoliday();
            hChecker.CustomHoliday.Holidays = new ObservableCollection <KeyValuePair <DateTime, string> >();

            var targetDate  = new DateTime(2020, 1, 2);
            var defaultName = hChecker.GetHolidayName(targetDate);

            hChecker.CustomHoliday.Holidays.Add(new KeyValuePair <DateTime, string>(targetDate, "HolidayName"));


            // act
            var actual = hChecker.GetHolidayName(targetDate);

            // assert
            Assert.Null(defaultName);
            Assert.Equal("HolidayName", actual);
        }
        public void CustomHoliday_SetCustomHoliday_OccursPropertyChangedEvent()
        {
            // arrange
            var hChecker = (HolidayChecker_ja_JP)HolidayChecker.GetHolidayChecker("ja-JP");

            bool actual = false;

            hChecker.PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName == nameof(HolidayChecker_ja_JP.CustomHoliday))
                {
                    actual = true;
                }
            };

            // act
            hChecker.CustomHoliday = new CustomHoliday();

            // assert
            Assert.True(actual);
        }
        public void IsAddHolidayNameToObservedHolidayName_SetValue_OccursPropertyChangedEvent()
        {
            // arrange
            var hChecker = (HolidayChecker_ja_JP)HolidayChecker.GetHolidayChecker("ja-JP");

            hChecker.IsAddHolidayNameToObservedHolidayName = false;

            bool actual = false;

            hChecker.PropertyChanged += (sender, e) =>
            {
                if (e.PropertyName == nameof(HolidayChecker_ja_JP.IsAddHolidayNameToObservedHolidayName))
                {
                    actual = true;
                }
            };

            // act
            hChecker.IsAddHolidayNameToObservedHolidayName = true;

            // assert
            Assert.True(actual);
        }
        public void CheckOnHolidayOrNot(string dateStr, bool expectedHoliday)
        {
            var isHolidayOrWeekend = HolidayChecker.CheckOnHoliday(dateStr, CountryCode.RU);

            Assert.AreEqual(expectedHoliday, isHolidayOrWeekend);
        }
Example #8
0
 public void SetUp()
 {
     _holidayChecker = new HolidayChecker();
 }
 /// <summary>
 /// Creates instance of class
 /// </summary>
 /// <param name="client"></param>
 public CurrencyAutomatedTestHelper(HttpClient client)
 {
     _client         = client;
     _holidayChecker = new HolidayChecker();
 }