### Question:
OFSwitchManager implements IOFSwitchManager, INewOFConnectionListener, IHAListener, IFloodlightModule, IOFSwitchService, IStoreListener<DatapathId> { @Override public void handshakeDisconnected(DatapathId dpid) { this.switchHandlers.remove(dpid); }  @Override void transitionToActive(); @Override void transitionToStandby(); @Override SwitchManagerCounters getCounters(); @Override synchronized void switchAdded(IOFSwitchBackend sw); @Override synchronized void switchStatusChanged(IOFSwitchBackend sw, SwitchStatus oldStatus, SwitchStatus newStatus); @Override synchronized void switchDisconnected(IOFSwitchBackend sw); @Override void handshakeDisconnected(DatapathId dpid); Iterable<IOFSwitch> getActiveSwitches(); Map<DatapathId, IOFSwitch> getAllSwitchMap(boolean showInvisible); @Override Map<DatapathId, IOFSwitch> getAllSwitchMap(); @Override Set<DatapathId> getAllSwitchDpids(); Set<DatapathId> getAllSwitchDpids(boolean showInvisible); @Override IOFSwitch getSwitch(DatapathId dpid); @Override IOFSwitch getActiveSwitch(DatapathId dpid); @Override void connectionOpened(IOFConnectionBackend connection, OFFeaturesReply featuresReply); @Override void addSwitchEvent(DatapathId dpid, String reason, boolean flushNow); @Override synchronized void notifyPortChanged(IOFSwitchBackend sw,
			OFPortDesc port,
			PortChangeType changeType); @Override IOFSwitchBackend getOFSwitchInstance(IOFConnectionBackend connection,
			SwitchDescription description,
			OFFactory factory, DatapathId datapathId); @Override void handleMessage(IOFSwitchBackend sw, OFMessage m, FloodlightContext bContext); @Override void handleOutgoingMessage(IOFSwitch sw, OFMessage m); @Override void addOFSwitchDriver(String manufacturerDescriptionPrefix,
			IOFSwitchDriver driver); @Override ImmutableList<OFSwitchHandshakeHandler> getSwitchHandshakeHandlers(); @Override int getNumRequiredConnections(); Set<LogicalOFMessageCategory> getLogicalOFMessageCategories(); @Override void addOFSwitchListener(IOFSwitchListener listener); @Override void removeOFSwitchListener(IOFSwitchListener listener); @Override void registerLogicalOFMessageCategory(LogicalOFMessageCategory category); @Override boolean isCategoryRegistered(LogicalOFMessageCategory category); @Override SwitchRepresentation getSwitchRepresentation(DatapathId dpid); @Override List<SwitchRepresentation> getSwitchRepresentations(); @Override void registerHandshakePlugin(IAppHandshakePluginFactory factory); @Override List<IAppHandshakePluginFactory> getHandshakePlugins(); @Override Collection<Class<? extends IFloodlightService>> getModuleServices(); @Override Map<Class<? extends IFloodlightService>, IFloodlightService> getServiceImpls(); @Override Collection<Class<? extends IFloodlightService>> getModuleDependencies(); @Override void init(FloodlightModuleContext context); @Override void startUp(FloodlightModuleContext context); void startUpBase(FloodlightModuleContext context); void bootstrapNetty(); void loadLogicalCategories(); @Override String getName(); @Override boolean isCallbackOrderingPrereq(HAListenerTypeMarker type, String name); @Override boolean isCallbackOrderingPostreq(HAListenerTypeMarker type, String name); @Override void controllerNodeIPsChanged(Map<String, String> curControllerNodeIPs,
			Map<String, String> addedControllerNodeIPs,
			Map<String, String> removedControllerNodeIPs); @Override void keysModified(Iterator<DatapathId> keys, UpdateType type); static final String SWITCH_SYNC_STORE_NAME; }### Answer:
@Test public void testHandshakeDisconnected() { testNewConnectionOpened(); assertTrue(switchManager.getSwitchHandshakeHandlers().size() == 1); switchManager.handshakeDisconnected(DATAPATH_ID_0); assertTrue(switchManager.getSwitchHandshakeHandlers().size() == 1); switchManager.handshakeDisconnected(DATAPATH_ID_1); assertTrue(switchManager.getSwitchHandshakeHandlers().size() == 0); }