public void TestRoutingItems_Nominal() { //setup IContextSpecificRoutingDetailController controller = new DeviceTypeRoutingDetailController(); MockUI mockUI = new MockUI(); controller.UI = mockUI; mockUI.MembersInputPanelEnabled = true; //Lets Set some values here and then check that the display representation is //converted to the underlying data. DeviceTypeDisplayTranslator displayTranslator = DeviceTypeDisplayTranslator.Instance; mockUI.m_listBox.Items.Add(displayTranslator.GetDisplayType(displayTranslator.DataTypes[0]), false); mockUI.m_listBox.Items.Add(displayTranslator.GetDisplayType(displayTranslator.DataTypes[1]), true); mockUI.m_listBox.Items.Add(displayTranslator.GetDisplayType(displayTranslator.DataTypes[2]), true); //be aware that the ItemCheck event is raised *before* the item is checked. So, make sure the //controller takes this into account; the following item should be included in our collection mockUI.RaiseDeviceTypeCheck(2, CheckState.Checked, CheckState.Unchecked); //also check that we can handle various different separators in the volume name and volume id text mockUI.m_volumeName = "AVolumeName; ; My Volumne"; mockUI.m_volumeID = "AnotherNewVolumeID"; List<IRoutingItem> newRoutingItems = controller.RoutingItems; Assert.AreEqual(5, newRoutingItems.Count, "unexpected number of items in routing item collection"); IRoutingItem routingItem = newRoutingItems[0]; Assert.AreEqual(displayTranslator.DataTypes[1], routingItem.Name.Value, "incorrect name on routing item"); Assert.AreEqual(displayTranslator.DataTypes[1], routingItem.Content, "incorrect content on routing item"); routingItem = newRoutingItems[1]; Assert.AreEqual(displayTranslator.DataTypes[2], routingItem.Name.Value, "incorrect name on routing item"); Assert.AreEqual(displayTranslator.DataTypes[2], routingItem.Content, "incorrect content on routing item"); //volume ids: routingItem = newRoutingItems[2]; Assert.AreEqual("AVolumeName", routingItem.Name.Value, "incorrect name on routing item"); Assert.AreEqual("AVolumeName", routingItem.Content, "incorrect content on routing item"); routingItem = newRoutingItems[3]; Assert.AreEqual("My Volumne", routingItem.Name.Value, "incorrect name on routing item"); Assert.AreEqual("My Volumne", routingItem.Content, "incorrect content on routing item"); //volume names: routingItem = newRoutingItems[4]; Assert.AreEqual("AnotherNewVolumeID", routingItem.Name.Value, "incorrect name on routing item"); Assert.AreEqual("AnotherNewVolumeID", routingItem.Content, "incorrect content on routing item"); //now, ensure that if we set the RoutingItemCollection again, we don't screw up with the last item //check in the device types checkbox when we next get. We were seeing a problem where we weren't //resetting the last item checked, and so items were being added to the new collection which shouldn't //have been added. controller.Initialise(new RoutingItemCollection()); newRoutingItems = controller.RoutingItems; Assert.AreEqual(0, newRoutingItems.Count, "incorrect number of routing items in collection"); }
public void TestMembersChanged() { //setup IContextSpecificRoutingDetailController controller = new DeviceTypeRoutingDetailController(); MockUI mockUI = new MockUI(); controller.UI = mockUI; controller.MembersChanged += new EventHandler<EventArgs>(controller_MembersChanged); controller.Initialise(GetTestRoutingItemCollectionData()); //Device type changed m_membersChangedRaised = false; Assert.AreEqual(false, m_membersChangedRaised, "test setup failure - m_membersChangedRaised should be false"); mockUI.RaiseDeviceTypeCheck(0, CheckState.Unchecked, CheckState.Checked); Assert.AreEqual(true, m_membersChangedRaised, "test setup failure - m_membersChangedRaised should be true"); //Volume name changed m_membersChangedRaised = false; Assert.AreEqual(false, m_membersChangedRaised, "test setup failure - m_membersChangedRaised should be false"); mockUI.RaiseVolumeNameChanged(); Assert.AreEqual(true, m_membersChangedRaised, "test setup failure - m_membersChangedRaised should be true"); //volume id changed m_membersChangedRaised = false; Assert.AreEqual(false, m_membersChangedRaised, "test setup failure - m_membersChangedRaised should be false"); mockUI.RaiseVolumeIDsChanged(); Assert.AreEqual(true, m_membersChangedRaised, "test setup failure - m_membersChangedRaised should be true"); }