|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
#nullable disable
using Windows.Win32.UI.Accessibility;
using static System.Windows.Forms.MonthCalendar;
namespace System.Windows.Forms.Tests.AccessibleObjects;
public class MonthCalendar_CalendarTodayLinkAccessibleObjectTests
{
[WinFormsFact]
public void CalendarTodayLinkAccessibleObject_ctor_default()
{
using MonthCalendar control = new();
var controlAccessibleObject = (MonthCalendarAccessibleObject)control.AccessibilityObject;
CalendarTodayLinkAccessibleObject todayLinkAccessibleObject = new(controlAccessibleObject);
controlAccessibleObject.Should().BeEquivalentTo(todayLinkAccessibleObject.TestAccessor().Dynamic._monthCalendarAccessibleObject);
control.IsHandleCreated.Should().BeFalse();
bool canGetDescriptionInternalResult = todayLinkAccessibleObject.TestAccessor().Dynamic.CanGetDescriptionInternal;
canGetDescriptionInternalResult.Should().BeFalse();
bool CanGetNameInternalResult = todayLinkAccessibleObject.TestAccessor().Dynamic.CanGetNameInternal;
CanGetNameInternalResult.Should().BeFalse();
}
[WinFormsFact]
public void CalendarTodayLinkAccessibleObject_Description_ReturnsExpected()
{
using MonthCalendar control = new();
var controlAccessibleObject = (MonthCalendarAccessibleObject)control.AccessibilityObject;
CalendarTodayLinkAccessibleObject todayLinkAccessibleObject = new(controlAccessibleObject);
string actual = todayLinkAccessibleObject.Description;
Assert.Equal(SR.CalendarTodayLinkAccessibleObjectDescription, actual);
Assert.False(control.IsHandleCreated);
}
[WinFormsFact]
public void CalendarTodayLinkAccessibleObject_GetChildId_ReturnsExpected()
{
using MonthCalendar control = new();
control.CreateControl();
var controlAccessibleObject = (MonthCalendarAccessibleObject)control.AccessibilityObject;
CalendarTodayLinkAccessibleObject todayLinkAccessibleObject = new(controlAccessibleObject);
int expected = 3 + controlAccessibleObject.CalendarsAccessibleObjects.Count;
int actual = todayLinkAccessibleObject.GetChildId();
Assert.Equal(expected, actual);
Assert.True(control.IsHandleCreated);
}
[WinFormsFact]
public void CalendarTodayLinkAccessibleObject_GetChildId_ReturnsExpected_IfCalendarsAccessibleObjectsIsNull()
{
using MonthCalendar control = new();
var controlAccessibleObject = (MonthCalendarAccessibleObject)control.AccessibilityObject;
CalendarTodayLinkAccessibleObject todayLinkAccessibleObject = new(controlAccessibleObject);
int actual = todayLinkAccessibleObject.GetChildId();
Assert.Null(controlAccessibleObject.CalendarsAccessibleObjects);
Assert.Equal(-1, actual);
Assert.False(control.IsHandleCreated);
}
[WinFormsFact]
public void CalendarTodayLinkAccessibleObject_Name_ReturnsExpected()
{
using MonthCalendar control = new();
var controlAccessibleObject = (MonthCalendarAccessibleObject)control.AccessibilityObject;
CalendarTodayLinkAccessibleObject todayLinkAccessibleObject = new(controlAccessibleObject);
string expected = string.Format(SR.MonthCalendarTodayButtonAccessibleName,
DateTime.Today.ToShortDateString());
string actual = todayLinkAccessibleObject.Name;
Assert.Equal(expected, actual);
Assert.False(control.IsHandleCreated);
}
[WinFormsFact]
public void CalendarTodayLinkAccessibleObject_FragmentNavigate_Parent_ReturnsExpected()
{
using MonthCalendar control = new();
MonthCalendarAccessibleObject controlAccessibleObject = new(control);
CalendarTodayLinkAccessibleObject todayLink = new(controlAccessibleObject);
Assert.Equal(controlAccessibleObject, todayLink.FragmentNavigate(NavigateDirection.NavigateDirection_Parent));
Assert.False(control.IsHandleCreated);
}
[WinFormsFact]
public void CalendarTodayLinkAccessibleObject_FragmentNavigate_Sibling_ReturnsExpected()
{
using MonthCalendar control = new();
MonthCalendarAccessibleObject controlAccessibleObject = new(control);
CalendarTodayLinkAccessibleObject todayLink = new(controlAccessibleObject);
AccessibleObject lastCalendar = controlAccessibleObject.CalendarsAccessibleObjects?.Last?.Value;
Assert.Equal(lastCalendar, todayLink.FragmentNavigate(NavigateDirection.NavigateDirection_PreviousSibling));
Assert.Null(todayLink.FragmentNavigate(NavigateDirection.NavigateDirection_NextSibling));
Assert.False(control.IsHandleCreated);
}
[WinFormsFact]
public void CalendarTodayLinkAccessibleObject_FragmentNavigate_Child_ReturnsExpected()
{
using MonthCalendar control = new();
MonthCalendarAccessibleObject controlAccessibleObject = new(control);
CalendarTodayLinkAccessibleObject todayLink = new(controlAccessibleObject);
Assert.Null(todayLink.FragmentNavigate(NavigateDirection.NavigateDirection_FirstChild));
Assert.Null(todayLink.FragmentNavigate(NavigateDirection.NavigateDirection_LastChild));
Assert.False(control.IsHandleCreated);
}
}
|