public void TcpSplunkInputCRUD()
        {
            Service         service         = Connect();
            InputCollection inputCollection = service.GetInputs();
            string          port            = "9998"; // test port

            // CRUD TCP (cooked) input
            if (inputCollection.ContainsKey(port))
            {
                inputCollection.Remove(port);
                inputCollection.Refresh();
            }

            Assert.IsFalse(inputCollection.ContainsKey(port), assertRoot + "#29");

            inputCollection.Create(port, InputKind.TcpSplunk);
            Assert.IsTrue(inputCollection.ContainsKey(port), assertRoot + "#30");
            TcpSplunkInput tcpSplunkInput = (TcpSplunkInput)inputCollection.Get(port);

            tcpSplunkInput.ConnectionHost = "dns";
            tcpSplunkInput.Host           = "myhost";
            tcpSplunkInput.SSL            = false;
            bool   getSSL   = tcpSplunkInput.SSL;
            String getGroup = tcpSplunkInput.Group;

            tcpSplunkInput.Update();

            Assert.AreEqual("dns", tcpSplunkInput.ConnectionHost, assertRoot + "#31");
            Assert.AreEqual("myhost", tcpSplunkInput.Host, assertRoot + "#32");
            Assert.IsFalse(getSSL, assertRoot + "#33");
            Assert.AreEqual("listenerports", getGroup, "Expected the group of the TCP input to be listenerports");
            Assert.IsNull(tcpSplunkInput.Queue, "Expected the queue to initially be null");

            tcpSplunkInput.Remove();
            inputCollection.Refresh();
            Assert.IsFalse(inputCollection.ContainsKey(port), assertRoot + "#34");
        }
        /// <summary>
        /// Touch all the properties of all any input
        /// </summary>
        /// <param name="input">The Input</param>
        private void TouchSpecificInput(Input input)
        {
            InputKind      inputKind      = input.GetKind();
            TcpConnections tcpConnections = null;
            UdpConnections udpConnections = null;

            string[] dummyStrings;
            string   dummyString;
            bool     dummyBoolean;
            DateTime dummyDate;
            int      dummyInt;

            if (inputKind.Equals(InputKind.Monitor))
            {
                MonitorInput monitorInput = (MonitorInput)input;
                dummyString  = monitorInput.Blacklist;
                dummyString  = monitorInput.CrcSalt;
                dummyInt     = monitorInput.FileCount;
                dummyBoolean = monitorInput.FollowTail;
                dummyString  = monitorInput.Host;
                dummyString  = monitorInput.HostRegex;
                dummyString  = monitorInput.IgnoreOlderThan;
                dummyString  = monitorInput.Index;
                dummyString  = monitorInput.Queue;
                dummyBoolean = monitorInput.IsRecursive;
                dummyString  = monitorInput.Source;
                dummyString  = monitorInput.SourceType;
                dummyInt     = monitorInput.TimeBeforeClose;
                dummyString  = monitorInput.Whitelist;
            }
            else if (inputKind.Equals(InputKind.Script))
            {
                ScriptInput scriptInput = (ScriptInput)input;
                dummyDate   = scriptInput.EndTime;
                dummyString = scriptInput.Group;
                dummyString = scriptInput.Host;
                dummyString = scriptInput.Index;
                dummyString = scriptInput.Interval;
                dummyDate   = scriptInput.StartTime;
            }
            else if (inputKind.Equals(InputKind.Tcp))
            {
                TcpInput tcpInput = (TcpInput)input;
                dummyString    = tcpInput.ConnectionHost;
                dummyString    = tcpInput.Group;
                dummyString    = tcpInput.Host;
                dummyString    = tcpInput.Index;
                dummyString    = tcpInput.Queue;
                dummyString    = tcpInput.RestrictToHost;
                dummyString    = tcpInput.Source;
                dummyString    = tcpInput.SourceType;
                dummyBoolean   = tcpInput.SSL;
                tcpConnections = tcpInput.Connections();
                dummyString    = tcpConnections.Connection;
                dummyString    = tcpConnections.Servername;
            }
            else if (inputKind.Equals(InputKind.TcpSplunk))
            {
                TcpSplunkInput tcpSplunkInput = (TcpSplunkInput)input;
                dummyString    = tcpSplunkInput.ConnectionHost;
                dummyString    = tcpSplunkInput.Group;
                dummyString    = tcpSplunkInput.Host;
                dummyString    = tcpSplunkInput.Index;
                dummyString    = tcpSplunkInput.Queue;
                dummyString    = tcpSplunkInput.Source;
                dummyString    = tcpSplunkInput.SourceType;
                dummyBoolean   = tcpSplunkInput.SSL;
                tcpConnections = tcpSplunkInput.Connections();
                dummyString    = tcpConnections.Connection;
                dummyString    = tcpConnections.Servername;
            }
            else if (inputKind.Equals(InputKind.Udp))
            {
                UdpInput udpInput = (UdpInput)input;
                dummyString    = udpInput.ConnectionHost;
                dummyString    = udpInput.Group;
                dummyString    = udpInput.Host;
                dummyString    = udpInput.Index;
                dummyString    = udpInput.Queue;
                dummyString    = udpInput.Source;
                dummyString    = udpInput.SourceType;
                dummyBoolean   = udpInput.NoAppendingTimeStamp;
                dummyBoolean   = udpInput.NoPriorityStripping;
                udpConnections = udpInput.Connections();
                dummyString    = udpConnections.Group;
            }
            else if (inputKind.Equals(InputKind.WindowsActiveDirectory))
            {
                WindowsActiveDirectoryInput windowsActiveDirectoryInput = (WindowsActiveDirectoryInput)input;
                dummyString  = windowsActiveDirectoryInput.Index;
                dummyBoolean = windowsActiveDirectoryInput.MonitorSubtree;
                dummyString  = windowsActiveDirectoryInput.StartingNode;
                dummyString  = windowsActiveDirectoryInput.TargetDc;
            }
            else if (inputKind.Equals(InputKind.WindowsEventLog))
            {
                WindowsEventLogInput windowsEventLogInput = (WindowsEventLogInput)input;
                dummyString  = windowsEventLogInput.Hosts;
                dummyString  = windowsEventLogInput.Index;
                dummyString  = windowsEventLogInput.LocalName;
                dummyStrings = windowsEventLogInput.Logs;
                dummyString  = windowsEventLogInput.LookupHost;
            }
            else if (inputKind.Equals(InputKind.WindowsPerfmon))
            {
                WindowsPerfmonInput windowsPerfmonInput = (WindowsPerfmonInput)input;
                dummyStrings = windowsPerfmonInput.Counters;
                dummyString  = windowsPerfmonInput.Index;
                dummyStrings = windowsPerfmonInput.Instances;
                dummyInt     = windowsPerfmonInput.Interval;
                dummyString  = windowsPerfmonInput.Object;
            }
            else if (inputKind.Equals(InputKind.WindowsRegistry))
            {
                WindowsRegistryInput windowsRegistryInput = (WindowsRegistryInput)input;
                dummyBoolean = windowsRegistryInput.Baseline;
                dummyString  = windowsRegistryInput.Hive;
                dummyString  = windowsRegistryInput.Index;
                dummyBoolean = windowsRegistryInput.MonitorSubnodes;
                dummyString  = windowsRegistryInput.Proc;
                dummyStrings = windowsRegistryInput.Type;
            }
            else if (inputKind.Equals(InputKind.WindowsWmi))
            {
                WindowsWmiInput windowsWmiInput = (WindowsWmiInput)input;
                dummyString  = windowsWmiInput.Classes;
                dummyStrings = windowsWmiInput.Fields;
                dummyString  = windowsWmiInput.Index;
                dummyStrings = windowsWmiInput.Instances;
                dummyInt     = windowsWmiInput.Interval;
                dummyString  = windowsWmiInput.LocalName;
                dummyString  = windowsWmiInput.LookupHost;
                dummyString  = windowsWmiInput.Servers;
                dummyString  = windowsWmiInput.Wql;
            }
            else
            {
                Assert.Fail();
            }
        }