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(); } }
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(); }
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); }
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); }
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")); }
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()); }
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()); }
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()); }
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()); }
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()); }
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()); }
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)); }
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()); }
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(); }
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()); }
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(); }
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()); }
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()); }
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)); }