public void Todays_date_is_colored_differently()
 {
     Color todayColor, yesterdayColor;
     CalendarController controller = new CalendarController(new MockService());
     controller.Initialize(new MockView(), DateTime.Today);
     controller.FormatCell(new DayInfo { date = DateTime.Today }, out todayColor);
     controller.FormatCell(new DayInfo { date = DateTime.Today.AddDays(-1) }, out yesterdayColor);
     Assert.NotEqual(todayColor, yesterdayColor);
 }
 public void Timer_Firing_Alternates_this_month_and_next_month()
 {
     CalendarController controller = new CalendarController(new MockService());
     MockView view = new MockView();
     controller.Initialize(view, DateTime.Parse("1/1/11"));
     Assert.Contains("January 2011", view._month);
     controller.TimerFired(view);
     Assert.Equal( "February 2011", view._month);
     controller.TimerFired(view);
     Assert.Equal(CalendarMode.Day, view.Mode);
     controller.TimerFired(view);
     Assert.Contains("Tomorrow's Agenda", view._month);
 }
        public void Calendar_rows_are_created_properly()
        {
            CalendarController controller = new CalendarController(new MockService());
            controller.Initialize(new MockView(), DateTime.Parse("1/1/11"));
            var row1 = controller.GetRow(0);
            Assert.Equal( DateTime.Parse("12/26/10"), row1[0]);
            Assert.Equal(DateTime.Parse("1/1/11"), row1[6]);

            var row2 = controller.GetRow(1);
            Assert.Equal(DateTime.Parse("1/2/11"), row2[0]);
            Assert.Equal(DateTime.Parse("1/8/11"), row2[6]);

            Assert.Null(controller.GetRow(6));
        }
        public Calendar(Rectangle bounds)
        {
            InitializeComponent();

            this.Bounds = bounds;
            lvDay.Bounds = gridCalendar.Bounds;

            _Controller = new CalendarController(new CalendarService(new Settings()));
            _Controller.Initialize(this, DateTime.Today);

            gridCalendar.ClearSelection();

            #if DEBUG
            timer1.Interval = 10000;
            #endif
        }