### Question:
GodEyeHelper { public static void onNetworkEnd(NetworkInfo networkInfo) throws UninstallException { GodEye.instance().<Network>getModule(GodEye.ModuleName.NETWORK).produce(networkInfo); L.d("GodEyeHelper onNetworkEnd: %s", networkInfo == null ? "null" : networkInfo.toSummaryString()); }  static void onPageLoaded(Object page); static void onFragmentPageVisibilityChange(Object fragmentPage, boolean visible); static void onAppStartEnd(StartupInfo startupInfo); static void onNetworkEnd(NetworkInfo networkInfo); @Deprecated static void inspectView(); static void startMethodCanaryRecording(String tag); static void stopMethodCanaryRecording(String tag); static boolean isMethodCanaryRecording(String tag); static void setMonitorAppInfoConext(AppInfoConext appInfoConext); static void startMonitor(int port); static void startMonitor(); static void shutdownMonitor();  }### Answer:
@Test public void onNetworkEndWhenNotInstalled() { try { GodEye.instance().uninstall(); GodEyeHelper.onNetworkEnd(null); fail(); } catch (UninstallException ignore) { } }
@Test public void onNetworkEndWhenNull() { try { GodEye.instance().uninstall(); GodEye.instance().install(GodEyeConfig.noneConfigBuilder().withNetworkConfig(new NetworkConfig()).build()); GodEyeHelper.onNetworkEnd(null); } catch (NullPointerException ignore) { } catch (UninstallException e) { fail(); } }
@Test public void onNetworkEndSuccess() { try { GodEye.instance().uninstall(); GodEye.instance().install(GodEyeConfig.noneConfigBuilder().withNetworkConfig(new NetworkConfig()).build()); NetworkInfo<NetworkContent> networkInfo = new NetworkInfo<>(); networkInfo.isSuccessful = true; networkInfo.message = "message"; GodEyeHelper.onNetworkEnd(networkInfo); TestObserver testObserver = GodEye.instance().<Network, NetworkInfo>moduleObservable(GodEye.ModuleName.NETWORK).test(); testObserver.assertValue(new Predicate<NetworkInfo>() { @Override public boolean test(NetworkInfo o) throws Exception { return networkInfo.isSuccessful == o.isSuccessful && networkInfo.message.equals(o.message); } }); } catch (Throwable e) { fail(); } }