コード例 #1
0
        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);
        }
コード例 #2
0
 private void toggleDropdownViaClick(StyledDropdownMenu dropdown) => dropdown.Children.First().TriggerOnClick();
コード例 #3
0
 private Menu getMenuFromDropdown(StyledDropdownMenu dropdown) => (Menu)dropdown.Children[1];
コード例 #4
0
 private Menu getMenuFromDropdown(StyledDropdownMenu dropdown) => (Menu)dropdown.Children.Skip(1).First();