コード例 #1
0
        public ShutupifyView()
        {
            InitializeComponent();
            InitializeComponentCustom();

            FileReader settingsReader = null;

            if (System.IO.File.Exists("shutupify.settings"))
            {
                settingsReader = new FileReader("shutupify.settings");
            }
            sirHookalot = new AutoHooker(settingsReader);

            sirHookalot.ReactOnEvent += (t) => {
                try {
                    lastFoo = DateTime.Now.ToLongTimeString() + "::" + t.ToString();
                    RefreshBox(null, null);
                }
                catch (Exception e) {
                    lastFoo = e.Message;
                };
            };
            sirHookalot.Hookup();

            if (settingsReader != null)
            {
                settingsReader.Save();
            }
        }
コード例 #2
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void event_routing_is_correct()
        {
            var        probe      = new Mock <IEventProbe>();
            var        jukebox    = new Mock <IJukebox>();
            var        eventFired = false;
            AutoHooker auto       = new AutoHooker();

            auto.Clear();
            auto.ReactOnEvent += (a) => { if (a == JukeboxCommand.Toggle)
                                          {
                                              eventFired = true;
                                          }
            };

            jukebox.SetupGet(m => m.IsPlaying).Returns(true);
            jukebox.SetupGet(m => m.IsAvailable).Returns(true);
            jukebox.SetupGet(m => m.IsActive).Returns(true);
            probe.Setup(m => m.StartObserving())
            .Returns(true);

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();

            probe.Raise(m => m.ReactOnEvent += null, JukeboxCommand.Toggle);
            jukebox.Verify(j => j.PerformAction(JukeboxCommand.Toggle));
            eventFired.Should().BeTrue();
        }
コード例 #3
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void should_automatically_load_own_assembly()
        {
            AutoHooker auto = new AutoHooker();

            auto.Probes.Length.Should().BeGreaterOrEqualTo(1);
            auto.Jukeboxes.Length.Should().BeGreaterOrEqualTo(1);

            auto.Probes.Should().Contain(probes => probes is LockWindowsProbe);
        }
コード例 #4
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void all_probes_and_jukeboxes_can_be_cleared()
        {
            AutoHooker auto = new AutoHooker();

            auto.Probes.Length.Should().BeGreaterOrEqualTo(1);

            auto.Clear();

            auto.Probes.Length.Should().BeGreaterOrEqualTo(0);
            auto.Jukeboxes.Length.Should().BeGreaterOrEqualTo(0);
        }
コード例 #5
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void all_probes_and_jukeboxes_can_be_cleared()
        {
            AutoHooker auto = new AutoHooker();

            auto.Probes.Length.Should().BeGreaterOrEqualTo(1);

            auto.Clear();

            auto.Probes.Length.Should().BeGreaterOrEqualTo(0);
            auto.Jukeboxes.Length.Should().BeGreaterOrEqualTo(0);
        }
コード例 #6
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void load_probes_from_given_dll()
        {
            AutoHooker auto = new AutoHooker();

            var assem = Assembly.LoadFrom(@"data\shutupify-mock.dll");

            auto.LoadFromAssembly(assem);

            auto.Probes.Length.Should().BeGreaterOrEqualTo(1);
            auto.Jukeboxes.Length.Should().BeGreaterOrEqualTo(1);
            auto.Probes.Should().Contain(probe => probe.GetType().FullName.EndsWith("ProbeMock"));
        }
コード例 #7
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void autohooker_performance()
        {
            var probe = new Mock<IEventProbe>();
            var jukebox = new Mock<IJukebox>();

            Action a = () =>
            {
                AutoHooker auto = new AutoHooker();
                auto.Clear();

                auto.Add(probe.Object);
                auto.Add(jukebox.Object);

                auto.Hookup();
            };
            a.ExecutionTime().ShouldNotExceed(1.Seconds());
        }
コード例 #8
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void event_routing_setup()
        {
            var        probe   = new Mock <IEventProbe>();
            var        jukebox = new Mock <IJukebox>();
            AutoHooker auto    = new AutoHooker();

            auto.Clear();

            probe.Setup(m => m.StartObserving())
            .Returns(true);

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();
            probe.Verify(m => m.StartObserving(), Times.AtLeastOnce());
        }
コード例 #9
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void autohooker_performance()
        {
            var probe   = new Mock <IEventProbe>();
            var jukebox = new Mock <IJukebox>();

            Action a = () =>
            {
                AutoHooker auto = new AutoHooker();
                auto.Clear();

                auto.Add(probe.Object);
                auto.Add(jukebox.Object);

                auto.Hookup();
            };

            a.ExecutionTime().ShouldNotExceed(1.Seconds());
        }
コード例 #10
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void ensures_type_activated_key()
        {
            var settings = new Mock<ISettingsReader>();

            var probe = new Mock<IEventProbe>();
            var probeSettable = probe.As<ISettable>();
            var probeName = probe.As<IName>();
            probeName.Setup(m => m.Name).Returns("probe");

            var jukebox = new Mock<IJukebox>();
            var jukeboxSettable = jukebox.As<ISettable>();

            AutoHooker auto = new AutoHooker(settings.Object, null);
            auto.Clear();

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();
            settings.Verify(m => m.EnsureKey("probe:Activated", "no"), Times.Once());
        }
コード例 #11
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void reads_settings()
        {
            var settings = new Mock <ISettingsReader>();

            var probe         = new Mock <IEventProbe>();
            var probeSettable = probe.As <ISettable>();

            var jukebox         = new Mock <IJukebox>();
            var jukeboxSettable = jukebox.As <ISettable>();

            AutoHooker auto = new AutoHooker(settings.Object, null);

            auto.Clear();

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();
            probeSettable.Verify(m => m.ReadSettings(settings.Object), Times.Once());
            jukeboxSettable.Verify(m => m.ReadSettings(settings.Object), Times.Once());
        }
コード例 #12
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void obeys_jukebox_type_activated_key(string returns, bool shouldBeActivated)
        {
            var settings = new Mock <ISettingsReader>();

            settings.SetupGet(m => m["Jukey:Activated"]).Returns(returns);

            var probe        = new Mock <IEventProbe>();
            var jukebox      = new Mock <IJukebox>();
            var jukeboxIName = jukebox.As <IName>();

            jukeboxIName.SetupGet(m => m.Name).Returns("Jukey");

            AutoHooker auto = new AutoHooker(settings.Object, null);

            auto.Clear();

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();

            jukebox.VerifySet(m => m.IsActive = shouldBeActivated, Times.Once());
        }
コード例 #13
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void obeys_probe_type_activated_key(string returns, bool shouldBeActivated)
        {
            var settings = new Mock <ISettingsReader>();

            settings.SetupGet(m => m["Proby:Activated"]).Returns(returns);

            var probe = new Mock <IEventProbe>();

            probe.SetupGet(m => m.Name).Returns("Proby");

            var jukebox = new Mock <IJukebox>();

            AutoHooker auto = new AutoHooker(settings.Object, null);

            auto.Clear();

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();

            probe.Verify(m => m.StartObserving(), Times.Exactly(shouldBeActivated ? 1 : 0));
        }
コード例 #14
0
ファイル: AutoHookerTest.cs プロジェクト: PlumpMath/shutupify
        public void ensures_type_activated_key()
        {
            var settings = new Mock <ISettingsReader>();

            var probe         = new Mock <IEventProbe>();
            var probeSettable = probe.As <ISettable>();
            var probeName     = probe.As <IName>();

            probeName.Setup(m => m.Name).Returns("probe");

            var jukebox         = new Mock <IJukebox>();
            var jukeboxSettable = jukebox.As <ISettable>();

            AutoHooker auto = new AutoHooker(settings.Object, null);

            auto.Clear();

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();
            settings.Verify(m => m.EnsureKey("probe:Activated", "no"), Times.Once());
        }
コード例 #15
0
ファイル: ShutupifyView.cs プロジェクト: Krizzzn/shutupify
        public ShutupifyView()
        {
            InitializeComponent();
            InitializeComponentCustom();

            FileReader settingsReader = null;
            if (System.IO.File.Exists("shutupify.settings"))
                settingsReader = new FileReader("shutupify.settings");
            sirHookalot = new AutoHooker(settingsReader);

            sirHookalot.ReactOnEvent += (t) => {
                try {
                    lastFoo = DateTime.Now.ToLongTimeString() + "::" + t.ToString();
                    RefreshBox(null, null);
                }
                catch (Exception e) {
                    lastFoo = e.Message;
                };
            };
            sirHookalot.Hookup();

            if (settingsReader != null)
                settingsReader.Save();
        }
コード例 #16
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void event_routing_setup()
        {
            var probe = new Mock<IEventProbe>();
            var jukebox = new Mock<IJukebox>();
            AutoHooker auto = new AutoHooker();
            auto.Clear();

            probe.Setup(m => m.StartObserving())
                .Returns(true);

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();
            probe.Verify(m => m.StartObserving(), Times.AtLeastOnce());
        }
コード例 #17
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void event_routing_is_correct()
        {
            var probe = new Mock<IEventProbe>();
            var jukebox = new Mock<IJukebox>();
            var eventFired = false;
            AutoHooker auto = new AutoHooker();
            auto.Clear();
            auto.ReactOnEvent += (a) => {if (a == JukeboxCommand.Toggle) eventFired = true;};

            jukebox.SetupGet(m => m.IsPlaying).Returns(true);
            jukebox.SetupGet(m => m.IsAvailable).Returns(true);
            jukebox.SetupGet(m => m.IsActive).Returns(true);
            probe.Setup(m => m.StartObserving())
                .Returns(true);

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();

            probe.Raise(m => m.ReactOnEvent += null, JukeboxCommand.Toggle);
            jukebox.Verify(j => j.PerformAction(JukeboxCommand.Toggle));
            eventFired.Should().BeTrue();
        }
コード例 #18
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void load_probes_from_given_dll()
        {
            AutoHooker auto = new AutoHooker();

            var assem = Assembly.LoadFrom(@"data\shutupify-mock.dll");
            auto.LoadFromAssembly(assem);

            auto.Probes.Length.Should().BeGreaterOrEqualTo(1);
            auto.Jukeboxes.Length.Should().BeGreaterOrEqualTo(1);
            auto.Probes.Should().Contain(probe => probe.GetType().FullName.EndsWith("ProbeMock"));
        }
コード例 #19
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void obeys_jukebox_type_activated_key(string returns, bool shouldBeActivated)
        {
            var settings = new Mock<ISettingsReader>();
            settings.SetupGet(m => m["Jukey:Activated"]).Returns(returns);

            var probe = new Mock<IEventProbe>();
            var jukebox = new Mock<IJukebox>();
            var jukeboxIName = jukebox.As<IName>();
            jukeboxIName.SetupGet(m => m.Name).Returns("Jukey");

            AutoHooker auto = new AutoHooker(settings.Object, null);
            auto.Clear();

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();

            jukebox.VerifySet(m => m.IsActive = shouldBeActivated, Times.Once());
        }
コード例 #20
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void should_automatically_load_own_assembly()
        {
            AutoHooker auto = new AutoHooker();

            auto.Probes.Length.Should().BeGreaterOrEqualTo(1);
            auto.Jukeboxes.Length.Should().BeGreaterOrEqualTo(1);

            auto.Probes.Should().Contain(probes => probes is LockWindowsProbe);
        }
コード例 #21
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void reads_settings()
        {
            var settings = new Mock<ISettingsReader>();

            var probe = new Mock<IEventProbe>();
            var probeSettable = probe.As<ISettable>();

            var jukebox = new Mock<IJukebox>();
            var jukeboxSettable = jukebox.As<ISettable>();

            AutoHooker auto = new AutoHooker(settings.Object, null);
            auto.Clear();

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();
            probeSettable.Verify(m => m.ReadSettings(settings.Object), Times.Once());
            jukeboxSettable.Verify(m => m.ReadSettings(settings.Object), Times.Once());
        }
コード例 #22
0
ファイル: AutoHookerTest.cs プロジェクト: Krizzzn/shutupify
        public void obeys_probe_type_activated_key(string returns, bool shouldBeActivated)
        {
            var settings = new Mock<ISettingsReader>();
            settings.SetupGet(m => m["Proby:Activated"]).Returns(returns);

            var probe = new Mock<IEventProbe>();
            probe.SetupGet(m => m.Name).Returns("Proby");

            var jukebox = new Mock<IJukebox>();

            AutoHooker auto = new AutoHooker(settings.Object, null);
            auto.Clear();

            auto.Add(probe.Object);
            auto.Add(jukebox.Object);

            auto.Hookup();

            probe.Verify(m=>m.StartObserving(), Times.Exactly(shouldBeActivated ? 1 : 0));
        }