public void Constructor_SetsProperties_Items_SelectedValues_DisabledValues_Groups()
        {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleAnonymousObjectsWithGroups(),
                                                              "Letter", "FullWord", "Group",
                                                              selectedValues: new[] { "A", "C", "T" },
                                                              disabledValues: new[] { "C" },
                                                              disabledGroups: null);

            // Act
            IList <SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.Equal(3, listItems.Count);

            Assert.Equal("A", listItems[0].Value);
            Assert.Equal("Alpha", listItems[0].Text);
            Assert.True(listItems[0].Selected);
            Assert.False(listItems[0].Disabled);

            Assert.Equal("B", listItems[1].Value);
            Assert.Equal("Bravo", listItems[1].Text);
            Assert.False(listItems[1].Selected);
            Assert.False(listItems[1].Disabled);

            Assert.Equal("C", listItems[2].Value);
            Assert.Equal("Charlie", listItems[2].Text);
            Assert.True(listItems[2].Selected);
            Assert.True(listItems[2].Disabled);

            Assert.Equal("AB", listItems[0].Group.Name);
            Assert.Equal("AB", listItems[1].Group.Name);
            Assert.Equal("C", listItems[2].Group.Name);
        }
Exemple #2
0
        public void GetListItemsWithValueFieldWithSelectionsWithGroupField()
        {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(
                GetSampleAnonymousObjectsWithGroups(),
                "Letter",
                "FullWord",
                "Group",
                new string[] { "A", "C", "T" }
                );

            // Act
            IList <SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.Equal(3, listItems.Count);
            Assert.Equal("A", listItems[0].Value);
            Assert.Equal("Alpha", listItems[0].Text);
            Assert.True(listItems[0].Selected);
            Assert.Equal("B", listItems[1].Value);
            Assert.Equal("Bravo", listItems[1].Text);
            Assert.False(listItems[1].Selected);
            Assert.Equal("C", listItems[2].Value);
            Assert.Equal("Charlie", listItems[2].Text);
            Assert.True(listItems[2].Selected);
            Assert.Equal("AB", listItems[0].Group.Name);
            Assert.Equal("AB", listItems[1].Group.Name);
            Assert.Equal("C", listItems[2].Group.Name);
        }
        public void GetListItemsThrowsOnBindingFailure()
        {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleFieldObjects(),
                                                              "Text", "Value", new string[] { "A", "C", "T" });

            // Assert
            Assert.ThrowsHttpException(
                delegate { IList <SelectListItem> listItems = multiSelect.GetListItems(); }, "DataBinding: 'System.Web.Mvc.Test.MultiSelectListTest+Item' does not contain a property with the name 'Text'.", 500);
        }
Exemple #4
0
        public void Constructor_SetsProperties_Items_SelectedValues_DisabledValues_Groups_DisabledGroups()
        {
            // Arrange
            object[]        disabledValues = { "C" };
            object[]        disabledGroups = { "AB" };
            MultiSelectList multiSelect    = new MultiSelectList(
                GetSampleAnonymousObjectsWithGroups(),
                "Letter",
                "FullWord",
                "Group",
                selectedValues: new[] { "A", "C", "T" },
                disabledValues: disabledValues,
                disabledGroups: disabledGroups
                );

            // Act
            IList <SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            // Count of Items and Groups
            Assert.Equal(3, listItems.Count);

            // Getters
            Assert.Same(disabledValues, multiSelect.DisabledValues);
            Assert.Same(disabledGroups, multiSelect.DisabledGroups);

            // Item A
            Assert.Equal("A", listItems[0].Value);
            Assert.Equal("Alpha", listItems[0].Text);
            Assert.True(listItems[0].Selected);
            Assert.False(listItems[0].Disabled);

            // Item B
            Assert.Equal("B", listItems[1].Value);
            Assert.Equal("Bravo", listItems[1].Text);
            Assert.False(listItems[1].Selected);
            Assert.False(listItems[1].Disabled);

            // Item C
            Assert.Equal("C", listItems[2].Value);
            Assert.Equal("Charlie", listItems[2].Text);
            Assert.True(listItems[2].Selected);
            Assert.True(listItems[2].Disabled);

            // Group AB
            Assert.Equal("AB", listItems[0].Group.Name);
            Assert.Equal("AB", listItems[1].Group.Name);
            Assert.True(listItems[0].Group.Disabled);
            Assert.Same(listItems[0].Group, listItems[1].Group);

            // Group C is disabled.
            Assert.Equal("C", listItems[2].Group.Name);
            Assert.False(listItems[2].Group.Disabled);
        }
        public void GetListItemsWithoutValueField()
        {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleStrings());

            // Act
            IList <SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.Equal(3, listItems.Count);
            Assert.Null(listItems[0].Value);
            Assert.Equal("Alpha", listItems[0].Text);
            Assert.False(listItems[0].Selected);
            Assert.Null(listItems[1].Value);
            Assert.Equal("Bravo", listItems[1].Text);
            Assert.False(listItems[1].Selected);
            Assert.Null(listItems[2].Value);
            Assert.Equal("Charlie", listItems[2].Text);
            Assert.False(listItems[2].Selected);
        }
        public void GetListItemsWithValueField()
        {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleAnonymousObjects(), "Letter", "FullWord");

            // Act
            IList <SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.Equal(3, listItems.Count);
            Assert.Equal("A", listItems[0].Value);
            Assert.Equal("Alpha", listItems[0].Text);
            Assert.False(listItems[0].Selected);
            Assert.Equal("B", listItems[1].Value);
            Assert.Equal("Bravo", listItems[1].Text);
            Assert.False(listItems[1].Selected);
            Assert.Equal("C", listItems[2].Value);
            Assert.Equal("Charlie", listItems[2].Text);
            Assert.False(listItems[2].Selected);
        }
        public void GetListItemsWithoutValueFieldWithSelections()
        {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleStrings(), new string[] { "Alpha", "Charlie", "Tango" });

            // Act
            IList <SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.AreEqual(3, listItems.Count);
            Assert.IsNull(listItems[0].Value);
            Assert.AreEqual("Alpha", listItems[0].Text);
            Assert.IsTrue(listItems[0].Selected);
            Assert.IsNull(listItems[1].Value);
            Assert.AreEqual("Bravo", listItems[1].Text);
            Assert.IsFalse(listItems[1].Selected);
            Assert.IsNull(listItems[2].Value);
            Assert.AreEqual("Charlie", listItems[2].Text);
            Assert.IsTrue(listItems[2].Selected);
        }
        public void GetListItemsWithoutValueField() {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleStrings());

            // Act
            IList<SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.AreEqual(3, listItems.Count);
            Assert.IsNull(listItems[0].Value);
            Assert.AreEqual("Alpha", listItems[0].Text);
            Assert.IsFalse(listItems[0].Selected);
            Assert.IsNull(listItems[1].Value);
            Assert.AreEqual("Bravo", listItems[1].Text);
            Assert.IsFalse(listItems[1].Selected);
            Assert.IsNull(listItems[2].Value);
            Assert.AreEqual("Charlie", listItems[2].Text);
            Assert.IsFalse(listItems[2].Selected);
        }
        public void GetListItemsThrowsOnBindingFailure() {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleFieldObjects(),
                "Text", "Value", new string[] { "A", "C", "T" });

            // Assert
            ExceptionHelper.ExpectHttpException(
                delegate {
                    IList<SelectListItem> listItems = multiSelect.GetListItems();
                }, "DataBinding: 'System.Web.Mvc.Test.MultiSelectListTest+Item' does not contain a property with the name 'Text'.", 500);
        }
        public void GetListItemsWithValueFieldWithSelections() {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleAnonymousObjects(),
                "Letter", "FullWord", new string[] { "A", "C", "T" });

            // Act
            IList<SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.AreEqual(3, listItems.Count);
            Assert.AreEqual("A", listItems[0].Value);
            Assert.AreEqual("Alpha", listItems[0].Text);
            Assert.IsTrue(listItems[0].Selected);
            Assert.AreEqual("B", listItems[1].Value);
            Assert.AreEqual("Bravo", listItems[1].Text);
            Assert.IsFalse(listItems[1].Selected);
            Assert.AreEqual("C", listItems[2].Value);
            Assert.AreEqual("Charlie", listItems[2].Text);
            Assert.IsTrue(listItems[2].Selected);
        }
        public void GetListItemsWithoutValueFieldWithSelections()
        {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleStrings(), new string[] { "Alpha", "Charlie", "Tango" });

            // Act
            IList<SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.Equal(3, listItems.Count);
            Assert.Null(listItems[0].Value);
            Assert.Equal("Alpha", listItems[0].Text);
            Assert.True(listItems[0].Selected);
            Assert.Null(listItems[1].Value);
            Assert.Equal("Bravo", listItems[1].Text);
            Assert.False(listItems[1].Selected);
            Assert.Null(listItems[2].Value);
            Assert.Equal("Charlie", listItems[2].Text);
            Assert.True(listItems[2].Selected);
        }
        public void GetListItemsWithGroupField()
        {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleAnonymousObjectsWithGroups(),
                                                              "Letter",
                                                              "FullWord",
                                                              null,
                                                              "Group");

            // Act
            IList<SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.Equal(3, listItems.Count);
            Assert.Equal("A", listItems[0].Value);
            Assert.Equal("Alpha", listItems[0].Text);
            Assert.False(listItems[0].Selected);
            Assert.Equal("B", listItems[1].Value);
            Assert.Equal("Bravo", listItems[1].Text);
            Assert.False(listItems[1].Selected);
            Assert.Equal("C", listItems[2].Value);
            Assert.Equal("Charlie", listItems[2].Text);
            Assert.False(listItems[2].Selected);
            Assert.Equal("AB", listItems[0].Group.Name);
            Assert.Equal("AB", listItems[1].Group.Name);
            Assert.Equal("C", listItems[2].Group.Name);
        }
        public void Constructor_SetsProperties_Items_SelectedValues_DisabledValues_Groups()
        {
            // Arrange
            MultiSelectList multiSelect = new MultiSelectList(GetSampleAnonymousObjectsWithGroups(),
                "Letter", "FullWord", "Group",
                selectedValues: new[] { "A", "C", "T" },
                disabledValues: new[] { "C" },
                disabledGroups: null);

            // Act
            IList<SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            Assert.Equal(3, listItems.Count);

            Assert.Equal("A", listItems[0].Value);
            Assert.Equal("Alpha", listItems[0].Text);
            Assert.True(listItems[0].Selected);
            Assert.False(listItems[0].Disabled);

            Assert.Equal("B", listItems[1].Value);
            Assert.Equal("Bravo", listItems[1].Text);
            Assert.False(listItems[1].Selected);
            Assert.False(listItems[1].Disabled);

            Assert.Equal("C", listItems[2].Value);
            Assert.Equal("Charlie", listItems[2].Text);
            Assert.True(listItems[2].Selected);
            Assert.True(listItems[2].Disabled);

            Assert.Equal("AB", listItems[0].Group.Name);
            Assert.Equal("AB", listItems[1].Group.Name);
            Assert.Equal("C", listItems[2].Group.Name);
        }
        public void Constructor_SetsProperties_Items_Value_Text_SelectedValues_DisabledValues()
        {
            // Arrange
            object[] disabledValues = { "C" };
            MultiSelectList multiSelect = new MultiSelectList(GetSampleAnonymousObjectsWithGroups(),
                "Letter", "FullWord",
                new[] { "A", "C", "T" },
                disabledValues);

            // Act
            IList<SelectListItem> listItems = multiSelect.GetListItems();

            // Assert
            // Count of Items
            Assert.Equal(3, listItems.Count);

            // Getters
            Assert.Same(disabledValues, multiSelect.DisabledValues);

            // Item A
            Assert.Equal("A", listItems[0].Value);
            Assert.Equal("Alpha", listItems[0].Text);
            Assert.True(listItems[0].Selected);
            Assert.False(listItems[0].Disabled);

            // Item B
            Assert.Equal("B", listItems[1].Value);
            Assert.Equal("Bravo", listItems[1].Text);
            Assert.False(listItems[1].Selected);
            Assert.False(listItems[1].Disabled);

            // Item C
            Assert.Equal("C", listItems[2].Value);
            Assert.Equal("Charlie", listItems[2].Text);
            Assert.True(listItems[2].Selected);
            Assert.True(listItems[2].Disabled);

            Assert.Equal(disabledValues, multiSelect.DisabledValues);
        }