public void NetInfoModule_Event()
        {
            SetDispatcherForTest();

            var networkInterface = new MockNetworkListManager("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.networkListManager = new MockNetworkListManager("InternetAccess");
            networkInfo.OnNetworkAvailabilityChanged(new Guid(), NLM_CONNECTIVITY.NLM_CONNECTIVITY_IPV4_INTERNET);
            Assert.IsTrue(emitted.WaitOne());
            Assert.AreEqual(CreateNetworkInfo("InternetAccess"), state);
        }
        public void NetInfoModule_JsonResponse()
        {
            var networkInterface = new MockNetworkListManager("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.networkListManager = new MockNetworkListManager("InternetAccess");
            netInfo.getCurrentConnectivity(promise);
            Assert.AreEqual(CreateNetworkInfo("InternetAccess"), state);
        }
 public MockNetworkInformation(MockNetworkListManager networkListManager)
     : this(() => { }, () => { })
 {
     this.networkListManager = networkListManager;
 }