public TestCaseDropdownBox() { StyledDropdownMenu styledDropdownMenu, styledDropdownMenu2; var testItems = new string[10]; int i = 0; while (i < items_to_add) { testItems[i] = @"test " + i++; } Add(styledDropdownMenu = new StyledDropdownMenu { Width = 150, Position = new Vector2(200, 70), Items = testItems.Select(item => new KeyValuePair <string, string>(item, item)), }); Add(styledDropdownMenu2 = new StyledDropdownMenu { Width = 150, Position = new Vector2(400, 70), Items = testItems.Select(item => new KeyValuePair <string, string>(item, item)), }); AddStep("click dropdown1", () => toggleDropdownViaClick(styledDropdownMenu)); AddAssert("dropdown is open", () => getMenuFromDropdown(styledDropdownMenu).State == MenuState.Opened); AddRepeatStep("add item", () => styledDropdownMenu.AddDropdownItem(@"test " + i, @"test " + i++), items_to_add); AddAssert("item count is correct", () => styledDropdownMenu.Items.Count() == items_to_add * 2); AddStep("click item 13", () => getMenuFromDropdown(styledDropdownMenu).ItemsContainer.Children[13].TriggerOnClick()); AddAssert("dropdown1 is closed", () => getMenuFromDropdown(styledDropdownMenu).State == MenuState.Closed); AddAssert("item 13 is selected", () => styledDropdownMenu.Current == styledDropdownMenu.Items.ElementAt(13).Value); AddStep("select item 15", () => styledDropdownMenu.Current.Value = styledDropdownMenu.Items.ElementAt(15).Value); AddAssert("item 15 is selected", () => styledDropdownMenu.Current == styledDropdownMenu.Items.ElementAt(15).Value); AddStep("click dropdown1", () => toggleDropdownViaClick(styledDropdownMenu)); AddAssert("dropdown1 is open", () => getMenuFromDropdown(styledDropdownMenu).State == MenuState.Opened); AddStep("click dropdown2", () => toggleDropdownViaClick(styledDropdownMenu2)); AddAssert("dropdown1 is closed", () => getMenuFromDropdown(styledDropdownMenu).State == MenuState.Closed); AddAssert("dropdown2 is open", () => getMenuFromDropdown(styledDropdownMenu2).State == MenuState.Opened); }
private void toggleDropdownViaClick(StyledDropdownMenu dropdown) => dropdown.Children.First().TriggerOnClick();
private Menu getMenuFromDropdown(StyledDropdownMenu dropdown) => (Menu)dropdown.Children[1];
private Menu getMenuFromDropdown(StyledDropdownMenu dropdown) => (Menu)dropdown.Children.Skip(1).First();