### Question:
WDLHooks { public static void onNHPCDisconnect(ClientPlayNetHandler sender, ITextComponent reason) { listener.onNHPCDisconnect(sender, reason); } private  WDLHooks(); static void onWorldClientTick(ClientWorld sender); static void onWorldClientRemoveEntityFromWorld(ClientWorld sender,
			int eid); static void onNHPCHandleChunkUnload(ClientPlayNetHandler sender,
			ClientWorld world, SUnloadChunkPacket packet); static void onNHPCHandleChat(ClientPlayNetHandler sender,
			SChatPacket packet); static void onNHPCHandleMaps(ClientPlayNetHandler sender,
			SMapDataPacket packet); static void onNHPCHandleCustomPayload(ClientPlayNetHandler sender,
			SCustomPayloadPlayPacket packet); static void onNHPCHandleBlockAction(ClientPlayNetHandler sender,
			SBlockActionPacket packet); static void onNHPCDisconnect(ClientPlayNetHandler sender, ITextComponent reason); static void onCrashReportPopulateEnvironment(CrashReport report); static void injectWDLButtons(IngameMenuScreen gui, Collection<Widget> buttonList,
			Consumer<Widget> addButton); static void handleWDLButtonClick(IngameMenuScreen gui, Button button);  }### Answer:
@Test public void testDisconnect() { doWithMockHooks(mock -> { makeMockWorld(); StringTextComponent reason = new StringTextComponent("Disconnected"); clientPlayer.connection.onDisconnect(reason); verify(mock).onNHPCDisconnect(clientPlayer.connection, reason); }); }