private static void TestDateTimeSet(WPFCalendar calendar, DateTime?value)
        {
            calendar.EmulateChangeDate(value);
            DateTime?controlDateTime = calendar.SelectedDate;

            Assert.AreEqual(value, controlDateTime);
        }
        public void TestEmulateChangeDateAsync()
        {
            WPFCalendar calendar = new WPFCalendar(Target);

            TestDateTimeSetAsync(calendar, TestDateTime);

            TestDateTimeSetAsync(calendar, null);
        }
        private void TestDateTimeSetAsync(WPFCalendar calendar, DateTime?value)
        {
            CallRemoteMethod("AttachChangeDateHandler", calendar);
            calendar.EmulateChangeDate(value, new Async());

            ClickNextMessageBox();

            Assert.AreEqual(calendar.SelectedDate, value);
        }
 void Assert(string accessPath, WPFCalendar calendar)
 {
     CaptureAdaptor.AddUsing(typeof(DateTime).Namespace);
     if (calendar.SelectedDate.HasValue)
     {
         var value = calendar.SelectedDate.Value;
         CaptureAdaptor.AddCode($"{accessPath}.SelectedDate.Is(new DateTime({value.Year}, {value.Month}, {value.Day}));");
     }
     else
     {
         CaptureAdaptor.AddCode($"{accessPath}.SelectedDate.IsNull();");
     }
 }