public void VirtualDeviceNames_ReturnsSwitchExecutiveExample()
        {
            ISwitchExecutiveDriverOperations driverOperations = new NISwitchExecutiveDriverOperations();
            IEnumerable <string>             virtualDevices   = driverOperations.VirtualDeviceNames;

            Assert.IsTrue(virtualDevices.FirstOrDefault(device => device == "SwitchExecutiveExample").Any());
        }
        public void SetRoute_ReturnsNoError()
        {
            ISwitchExecutiveDriverOperations driverOperations = new NISwitchExecutiveDriverOperations();
            string newRoute = "PowerUUT";

            driverOperations.SelectedRoute = newRoute;
            Assert.IsTrue(driverOperations.SelectedRoute == newRoute);
        }
        public void SetVirtualDevice_ReturnsNoError()
        {
            ISwitchExecutiveDriverOperations driverOperations = new NISwitchExecutiveDriverOperations();
            string newVirtualDevice = "VirtualDevice1";

            driverOperations.SelectedVirtualDevice = newVirtualDevice;
            Assert.IsTrue(driverOperations.SelectedVirtualDevice == newVirtualDevice);
        }
        public void VirtualDeviceRoutes_ReturnsPowerUUT()
        {
            ISwitchExecutiveDriverOperations driverOperations = new NISwitchExecutiveDriverOperations();
            string newVirtualDevice = "SwitchExecutiveExample";

            driverOperations.SelectedVirtualDevice = newVirtualDevice;

            IEnumerable <string> routes = driverOperations.RouteNames;

            Assert.IsTrue(routes.FirstOrDefault(route => route == "PowerUUT").Any());
        }
        public void ConnectNoMulticonnectTwiceErrorsTest()
        {
            ISwitchExecutiveDriverOperations driverOperations = new NISwitchExecutiveDriverOperations();

            driverOperations.SelectedVirtualDevice = "SwitchExecutiveExample";
            driverOperations.TryDisconnectAll();
            driverOperations.SelectedRoute = "PowerUUT";
            driverOperations.TryConnect(MulticonnectMode.NoMulticonnect);

            Assert.ThrowsException <DriverException>(() => { driverOperations.TryConnect(MulticonnectMode.NoMulticonnect); });
        }
        public void ConfiguredVirtualDevice_SwitchToAnotherVirtualDevice_CanConnect()
        {
            ISwitchExecutiveDriverOperations driverOperations = new NISwitchExecutiveDriverOperations();

            driverOperations.SelectedVirtualDevice = "SwitchExecutiveExample";
            driverOperations.TryDisconnectAll();
            driverOperations.SelectedRoute = "PowerUUT";
            driverOperations.TryConnect(MulticonnectMode.Multiconnect);
            driverOperations.TryDisconnectAll();

            driverOperations.SelectedVirtualDevice = "VirtualDevice1";
            driverOperations.SelectedRoute         = "RouteGroup0";
            driverOperations.TryConnect(MulticonnectMode.Multiconnect);
            Assert.IsTrue(driverOperations.IsConnected());
        }
예제 #7
0
        public SwitchExecutiveControl(
            string editTimeConfiguration,
            string runTimeConfiguration,
            UpdateConfigurationDelegate updateConfigurationDelegate,
            PanelPresentation requestedPresentation)
        {
            InitializeComponent();

            /* used to save/load our view models and models.  for save we serialize
             * and return the string to InstrumentStudio via the UpdateConfiguraitonDelegate.  This
             * class also handles not saving during load.  */
            var saveDelegator = new SaveDelegator(updateConfigurationDelegate);

            /* crete the main view model which creates all the child view models and models.  by
             * doing this creation here we imply that the view is created first. Also we:
             *
             * 1. check the registry to see if SwitchExecutive is installed.
             * 2. create a DriverOperations class that is basically our model and conneciton to the driver.
             * 3. create a status option that is shared to all view models.  this allows any code to report errors. */
            var mainViewModel =
                new SwitchExecutiveControlViewModel(
                    requestedPresentation,
                    NISwitchExecutiveDriverOperations.IsDriverInstalled(),
                    (ISwitchExecutiveDriverOperations) new NISwitchExecutiveDriverOperations(),
                    (ISave)saveDelegator,
                    (IStatus) new Status());

            /* attach the serialize and deserialize commands after.  This allows us to create any objects we need
             * prior to creating the ViewModels ... just for a cleaner construction. */
            saveDelegator.Attach(
                serialize: new Func <string>(() => mainViewModel.Serialize()),
                deserialize: o => mainViewModel.Deserialize(o));


            this.DataContext = mainViewModel;

            // update our state based on the state saved in the .sfp file
            saveDelegator.Deserialize(editTimeConfiguration);
            // restore connections from the saved file
            mainViewModel.ApplyLoadFromFile();
        }
        public void ConnectDisconnectRouteTest()
        {
            ISwitchExecutiveDriverOperations driverOperations = new NISwitchExecutiveDriverOperations();
            string newVirtualDevice = "SwitchExecutiveExample";

            driverOperations.SelectedVirtualDevice = newVirtualDevice;
            driverOperations.TryDisconnectAll();
            string newRoute = "PowerUUT";

            driverOperations.SelectedRoute = newRoute;

            Assert.IsTrue(driverOperations.CanConnect());
            Assert.IsFalse(driverOperations.IsConnected());
            driverOperations.TryConnect(MulticonnectMode.Multiconnect);
            Assert.IsTrue(driverOperations.IsConnected());
            Assert.IsTrue(driverOperations.ConnectedRoutes.Any());

            Assert.IsTrue(driverOperations.CanDisconnect());
            driverOperations.TryDisconnect();
            Assert.IsFalse(driverOperations.IsConnected());
            Assert.IsFalse(driverOperations.ConnectedRoutes.Any());
        }
        public void DefaultSelectedVirtualDevice_IsEmpty()
        {
            ISwitchExecutiveDriverOperations driverOperations = new NISwitchExecutiveDriverOperations();

            Assert.IsTrue(driverOperations.SelectedVirtualDevice == "");
        }
 public void IsDriverInstalled_ReturnsTrue()
 {
     // The rest of these tests will fail if SwitchExecutive isn't installed. Needs default SwitchExecutiveExample in MAX.
     Assert.IsTrue(NISwitchExecutiveDriverOperations.IsDriverInstalled());
 }
        public void OnContruction_NoThrow()
        {
            ISwitchExecutiveDriverOperations driverOperations = new NISwitchExecutiveDriverOperations();

            Assert.IsNotNull(driverOperations);
        }