### Question:
OpenVSwitchUpdateCommand extends AbstractTransactionCommand { private static void setInterfaceTypes( OvsdbNodeAugmentationBuilder ovsdbNodeBuilder, OpenVSwitch openVSwitch) { try { Set<String> iftypes = openVSwitch.getIfaceTypesColumn().getData(); List<InterfaceTypeEntry> ifEntryList = new ArrayList<>(); for (String ifType : iftypes) { if (SouthboundMapper.createInterfaceType(ifType) != null) { InterfaceTypeEntry ifEntry = new InterfaceTypeEntryBuilder() .setInterfaceType( SouthboundMapper.createInterfaceType(ifType)) .build(); ifEntryList.add(ifEntry); } else { LOG.warn("Interface type {} not present in model", ifType); } } ovsdbNodeBuilder.setInterfaceTypeEntry(ifEntryList); } catch (SchemaVersionMismatchException e) { schemaMismatchLog("iface_types", SouthboundConstants.OPEN_V_SWITCH, e); } } OpenVSwitchUpdateCommand(InstanceIdentifierCodec instanceIdentifierCodec, OvsdbConnectionInstance key,
            TableUpdates updates, DatabaseSchema dbSchema); @Override void execute(ReadWriteTransaction transaction);  }### Answer:
@Test @SuppressWarnings("unchecked") public void testSetInterfaceTypes() throws Exception { OpenVSwitch openVSwitch = mock(OpenVSwitch.class); Column<GenericTableSchema, Set<String>> column = mock(Column.class); when(openVSwitch.getIfaceTypesColumn()).thenReturn(column); when(column.getData()).thenReturn(ImmutableSet.of( "dpdk", "dpdkr", "dpdkvhostuser", "dpdkvhostuserclient", "geneve", "gre", "internal", "ipsec_gre", "lisp", "patch", "stt", "system", "tap", "vxlan")); OvsdbNodeAugmentationBuilder ovsdbNodeBuilder = new OvsdbNodeAugmentationBuilder(); Whitebox.invokeMethod(openVSwitchUpdateCommand, "setInterfaceTypes", ovsdbNodeBuilder, openVSwitch); verify(openVSwitch).getIfaceTypesColumn(); Map<InterfaceTypeEntryKey, InterfaceTypeEntry> interfaceTypeEntries = ovsdbNodeBuilder.getInterfaceTypeEntry(); assertEquals(14, interfaceTypeEntries.size()); }