Exemplo n.º 1
0
        public void IMultipleViewProvider_Methods()
        {
            Calendar              calendar          = CreateConcreteFrameworkElement() as Calendar;
            AutomationPeer        peer              = FrameworkElementAutomationPeer.CreatePeerForElement(calendar);
            IMultipleViewProvider multiViewProvider = null;

            CreateAsyncTest(calendar,
                            () => {
                Assert.IsNotNull(peer, "#0");
                multiViewProvider = peer.GetPattern(PatternInterface.MultipleView) as IMultipleViewProvider;
                Assert.IsNotNull(multiViewProvider, "#1");

                // IMultipleViewProvider.GetSupportedViews

                int[] views = multiViewProvider.GetSupportedViews();
                Assert.IsNotNull(views, "GetSupportedViews #0");
                Assert.AreEqual((int)CalendarMode.Month, views[0], "GetSupportedViews #1");
                Assert.AreEqual((int)CalendarMode.Year, views[1], "GetSupportedViews #2");
                Assert.AreEqual((int)CalendarMode.Decade, views[2], "GetSupportedViews #3");

                // IMultipleViewProvider.GetViewName

                Assert.AreEqual(CalendarMode.Month.ToString(), multiViewProvider.GetViewName(0), "GetViewName #0");
                Assert.AreEqual(CalendarMode.Year.ToString(), multiViewProvider.GetViewName(1), "GetViewName #1");
                Assert.AreEqual(CalendarMode.Decade.ToString(), multiViewProvider.GetViewName(2), "GetViewName #2");

                // IMultipleViewProvider.CurrentView
                calendar.DisplayMode = CalendarMode.Month;
                Assert.AreEqual((int)CalendarMode.Month, multiViewProvider.CurrentView, "CurrentView #0");
                calendar.DisplayMode = CalendarMode.Year;
                Assert.AreEqual((int)CalendarMode.Year, multiViewProvider.CurrentView, "CurrentView #1");
                calendar.DisplayMode = CalendarMode.Decade;
                Assert.AreEqual((int)CalendarMode.Decade, multiViewProvider.CurrentView, "CurrentView #2");
                // IMultipleViewProvider.SetCurrentView
                multiViewProvider.SetCurrentView(0);

                Assert.AreEqual(CalendarMode.Month, calendar.DisplayMode, "SetCurrentView #0");
                Assert.AreEqual((int)CalendarMode.Month, multiViewProvider.CurrentView, "SetCurrentView #1");

                multiViewProvider.SetCurrentView(1);

                Assert.AreEqual(CalendarMode.Year, calendar.DisplayMode, "SetCurrentView #2");
                Assert.AreEqual((int)CalendarMode.Year, multiViewProvider.CurrentView, "SetCurrentView #3");

                multiViewProvider.SetCurrentView(2);

                Assert.AreEqual(CalendarMode.Decade, calendar.DisplayMode, "SetCurrentView #4");
                Assert.AreEqual((int)CalendarMode.Decade, multiViewProvider.CurrentView, "SetCurrentView #5");

                Assert.Throws <ArgumentOutOfRangeException> (() => multiViewProvider.SetCurrentView(3));
            });
        }
 public int[] GetSupportedViews()
 {
     return(provider.GetSupportedViews());
 }