Beispiel #1
0
        public void should_consume_extended_event_in_the_classic_way()
        {
            var sut = new WiFiScanner();

            var networks = new List <Info>();
            ExtendedNetworkFoundHandler sutOnExtendedNetworkFound = (ssid, strength) =>
            {
                networks.Add(new Info {
                    Ssid = ssid, Strength = strength
                });
            };

            sut.ExtendedNetworkFound += sutOnExtendedNetworkFound;

            sut.FindExtendedNetwork("one", 1);
            sut.FindExtendedNetwork("two", 2);

            networks[0].ShouldBeEquivalentTo(new Info {
                Ssid = "one", Strength = 1
            });
            networks[1].ShouldBeEquivalentTo(new Info {
                Ssid = "two", Strength = 2
            });

            sut.ExtendedNetworkFound -= sutOnExtendedNetworkFound;
        }
Beispiel #2
0
        public void should_create_an_extended_observable_using_FromEvent()
        {
            var sut = new WiFiScanner();

            var networks = Observable.FromEvent <ExtendedNetworkFoundHandler, Info>(
                handler => ((ssid, strength) => handler(new Info()
            {
                Ssid = ssid, Strength = strength
            })),
                handler => { sut.ExtendedNetworkFound += handler; },
                handler => { sut.ExtendedNetworkFound -= handler; });

            var sb = new List <string>();

            using (networks
                   .Select(n => $"{n.Ssid} ({n.Strength})")
                   .Subscribe(new StringObserver <string>(sb)))
            {
                sut.FindExtendedNetwork("one", 1);
                sut.FindExtendedNetwork("two", 2);
            }

            sb[0].Should().Be("OnNext(one (1))");
            sb[1].Should().Be("OnNext(two (2))");
        }
Beispiel #3
0
        public void should_create_an_observable_using_FromEvent()
        {
            var sut      = new WiFiScanner();
            var networks = Observable.FromEvent <NetworkFoundHandler, string>(
                h => sut.NetworkFound += h,
                h => sut.NetworkFound -= h
                );

            var result = new List <string>();

            using (networks.Subscribe(new StringObserver <string>(result)))
            {
                sut.FindNetwork("123");
                sut.FindNetwork("456");
            }

            result[0].Should().Be("OnNext(123)");
            result[1].Should().Be("OnNext(456)");
        }
Beispiel #4
0
        public void should_consume_the_events_in_the_classic_way()
        {
            var sut = new WiFiScanner();

            var ssids = new List <string>();
            NetworkFoundHandler myHandler = ssid => ssids.Add(ssid);

            sut.NetworkFound += myHandler;

            sut.FindNetwork("1");
            sut.FindNetwork("2");
            sut.FindNetwork("3");

            sut.NetworkFound -= myHandler;

            ssids[0] = "1";
            ssids[1] = "2";
            ssids[2] = "3";
        }