public void NetInfoModule_Event()
        {
            SetDispatcherForTest();

            var networkInterface = new MockNetworkInterface("None");
            var networkInfo      = new MockNetworkInformation(networkInterface);

            var emitted = new AutoResetEvent(false);
            var state   = default(JObject);
            var context = CreateReactContext(new MockInvocationHandler((name, args) =>
            {
                if (name == "emit" && args.Length == 2 && ((string)args[0]) == "networkStatusDidChange")
                {
                    state = (JObject)args[1];
                    emitted.Set();
                }
            }));

            var netInfo = new NetInfoModule(networkInfo, context);

            netInfo.Initialize();
            context.OnResume();

            networkInfo.NetworkInterface = new MockNetworkInterface("InternetAccess");
            networkInfo.OnNetworkAvailabilityChanged(new object(), (NetworkAvailabilityEventArgs)null);
            Assert.IsTrue(emitted.WaitOne());
            Assert.AreEqual(CreateNetworkInfo("InternetAccess"), state);
        }
        public void NetInfoModule_JsonResponse()
        {
            var networkInterface = new MockNetworkInterface("None");
            var networkInfo      = new MockNetworkInformation(networkInterface);
            var context          = CreateReactContext();
            var netInfo          = new NetInfoModule(networkInfo, context);

            var state   = default(JObject);
            var promise = new MockPromise(value => state = (JObject)value);

            netInfo.getCurrentConnectivity(promise);
            Assert.AreEqual(CreateNetworkInfo("None"), state);

            networkInfo.NetworkInterface = new MockNetworkInterface("InternetAccess");
            netInfo.getCurrentConnectivity(promise);
            Assert.AreEqual(CreateNetworkInfo("InternetAccess"), state);
        }
 public MockNetworkInformation(MockNetworkInterface NetworkInterface)
     : this(() => { }, () => { })
 {
     this.NetworkInterface = NetworkInterface;
 }