public void Test_SelectionsItemsInOrderOfSelection()
 {
     //---------------Set up test pack-------------------
     _model.AllOptions.Clear();
     List<TestT> availableOptions = new List<TestT>();
     TestT item1 = new TestT();
     item1.Name = "Item1";
     TestT item2 = new TestT();
     item2.Name = "Item2";
     TestT item3 = new TestT();
     item3.Name = "Item3";
     availableOptions.Add(item1);
     availableOptions.Add(item2);
     availableOptions.Add(item3);
     _model.AllOptions = availableOptions;
     //---------------Assert Precondition----------------
     Assert.AreEqual(3,_model.AvailableOptions.Count);
     Assert.AreEqual(0,_model.SelectedOptions.Count);
     Assert.AreEqual(item1,_model.AvailableOptions[0]);
     Assert.AreEqual(item2,_model.AvailableOptions[1]);
     Assert.AreEqual(item3,_model.AvailableOptions[2]);
     //---------------Execute Test ----------------------
     _model.Select(_model.AllOptions[2]);
     _model.Select(_model.AllOptions[0]);
     _model.Select(_model.AllOptions[1]);
     //---------------Test Result -----------------------
     Assert.AreEqual(item3,_selections[0]);
     Assert.AreEqual(item1,_selections[1]);
     Assert.AreEqual(item2,_selections[2]);
 }
        public void Test_SelectionsItemsInOrderOfSelection()
        {
            //---------------Set up test pack-------------------
            _model.AllOptions.Clear();
            List <TestT> availableOptions = new List <TestT>();
            TestT        item1            = new TestT();

            item1.Name = "Item1";
            TestT item2 = new TestT();

            item2.Name = "Item2";
            TestT item3 = new TestT();

            item3.Name = "Item3";
            availableOptions.Add(item1);
            availableOptions.Add(item2);
            availableOptions.Add(item3);
            _model.AllOptions = availableOptions;
            //---------------Assert Precondition----------------
            Assert.AreEqual(3, _model.AvailableOptions.Count);
            Assert.AreEqual(0, _model.SelectedOptions.Count);
            Assert.AreEqual(item1, _model.AvailableOptions[0]);
            Assert.AreEqual(item2, _model.AvailableOptions[1]);
            Assert.AreEqual(item3, _model.AvailableOptions[2]);
            //---------------Execute Test ----------------------
            _model.Select(_model.AllOptions[2]);
            _model.Select(_model.AllOptions[0]);
            _model.Select(_model.AllOptions[1]);
            //---------------Test Result -----------------------
            Assert.AreEqual(item3, _selections[0]);
            Assert.AreEqual(item1, _selections[1]);
            Assert.AreEqual(item2, _selections[2]);
        }
        public void TestAddingAndRemoving()
        {
            TestT selection = _options[0];

            _model.Select(selection);
            _model.Deselect(selection);
            Assert.AreEqual(0, _model.Added.Count);
            Assert.AreEqual(0, _model.Removed.Count);
        }
        public void TestRemoved()
        {
            Assert.AreEqual(0, _model.Removed.Count);
            TestT oldSelection = _selections [0];

            _model.Deselect(oldSelection);
            Assert.AreEqual(1, _model.Removed.Count);
            Assert.AreSame(oldSelection, _model.Removed[0]);
        }
        public void TestAdded()
        {
            Assert.AreEqual(0, _model.Added.Count);
            TestT newSelection = _options[0];

            _model.Select(newSelection);
            Assert.AreEqual(1, _model.Added.Count);
            Assert.AreSame(newSelection, _model.Added[0]);
        }
        public void TestDeselectOption()
        {
            TestT oldSelection = _selections[0];

            _model.Deselect(oldSelection);
            Assert.IsTrue(_model.OptionsView.Contains(oldSelection));
            Assert.IsFalse(_model.SelectionsView.Contains(oldSelection));
            Assert.IsTrue(_model.AvailableOptions.Contains(oldSelection));
        }
        public void TestSelectOption()
        {
            TestT newSelection = _options[0];

            _model.Select(newSelection);
            Assert.IsTrue(_model.OptionsView.Contains(newSelection));
            Assert.IsTrue(_model.SelectionsView.Contains(newSelection));
            Assert.IsFalse(_model.AvailableOptions.Contains(newSelection));
        }