public override void Init()
        {
            base.Init();

            Twin.ChangeEventPriority(nameof(FirewallConfigurationSnapshotGenerator), EventPriority.High);

            _mockedShell = new Mock <IProcessUtil>();
            _mockedShell.Setup(m => m.ExecuteProcess(
                                   It.IsAny <string>(),
                                   It.Is <string>(x => x.Contains("which")),
                                   It.IsAny <ErrorHandler>(),
                                   It.IsAny <IEnumerable <int> >()))
            .Returns("iptables");

            _genertorUnderTest = new FirewallConfigurationSnapshotGenerator(_mockedShell.Object);
        }
        public void TestEventIfIpTablesNotExist()
        {
            var mockedShell = new Mock <IProcessUtil>();

            mockedShell.Setup(m => m.ExecuteProcess(
                                  It.IsAny <string>(),
                                  It.Is <string>(x => x.Contains("which")),
                                  It.IsAny <ErrorHandler>(),
                                  It.IsAny <IEnumerable <int> >()))
            .Returns("");
            var genertorUnderTest = new FirewallConfigurationSnapshotGenerator(mockedShell.Object);

            var events = genertorUnderTest.GetEvents();

            Assert.AreEqual(0, events.Count());

            mockedShell.Verify(util => util.ExecuteProcess(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <ErrorHandler>(),
                                                           It.IsAny <IEnumerable <int> >()), Times.Exactly(1));
        }