### Question:
ArpFlowFactory { public static EthernetMatch createEthernetMatch(MacAddress destinationMacAddress) { return new EthernetMatchBuilder().setEthernetType( new EthernetTypeBuilder().setType(new EtherType(Long.valueOf(EtherTypes.ARP.intValue()))).build()) .setEthernetDestination(new EthernetDestinationBuilder().setAddress(destinationMacAddress).build()) .build(); }  static EthernetMatch createEthernetMatch(MacAddress destinationMacAddress); static EthernetMatch createEthernetMatch(); static ArpMatch createArpMatch(ArpMessageAddress targetAddress, Ipv4Address senderProtocolAddress); static Action createSendToControllerAction(int order);  }### Answer:
@Test public void createEthernetMatchWithAddressTest() { MacAddress mac = new MacAddress("00:00:00:00:00:01"); EthernetMatch match = ArpFlowFactory.createEthernetMatch(mac); Assert.assertEquals(mac, match.getEthernetDestination().getAddress()); Assert.assertNull(match.getEthernetSource()); Assert.assertEquals(Long.valueOf(EtherTypes.ARP.intValue()), match.getEthernetType().getType().getValue()); }
@Test public void createEthernetMatchWithoutAddressTest() { EthernetMatch match = ArpFlowFactory.createEthernetMatch(); Assert.assertEquals(Long.valueOf(EtherTypes.ARP.intValue()), match.getEthernetType().getType().getValue()); Assert.assertNull(match.getEthernetDestination()); }