- //
- // /**
- // * Test PCEPExcludeRouteObjectObject (Serialization/Deserialization)<br/>
- // * Used resources:<br/>
- // * - PCEPExcludeRouteObject.1.bin<br/>
- // *
- // * @throws IOException
- // * @throws PCEPDeserializerException
- // * @throws PCEPDocumentedException
- // */
- // @Test
- // public void testExcludeRouteObject() throws IOException, PCEPDeserializerException, PCEPDocumentedException {
- // final List<ExcludeRouteSubobject> xroSubobjects = new ArrayList<ExcludeRouteSubobject>();
- // xroSubobjects.add(new XROIPPrefixSubobject<IPv4Prefix>(new IPv4Prefix(new IPv4Address(new byte[] { (byte) 192,
- // (byte) 168,
- // (byte) 100, (byte) 100 }), 16), true, XROSubobjectAttribute.NODE));
- // xroSubobjects.add(new XROAsNumberSubobject(new AsNumber(0x1234L), false));
- //
- // }
- //
+ @Test
+ public void testExcludeRouteObject() throws Exception {
+ final PCEPExcludeRouteObjectParser parser = new PCEPExcludeRouteObjectParser(PCEPExtensionProviderContextImpl.create().getXROSubobjectHandlerRegistry());
+ final byte[] result = ByteArray.fileToBytes("src/test/resources/PCEPExcludeRouteObject.1.bin");
+
+ final XroBuilder builder = new XroBuilder();
+ builder.setProcessingRule(false);
+ builder.setIgnore(false);
+ builder.setFlags(new org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.ExcludeRouteObject.Flags(true));
+ final List<Subobjects> subs = Lists.newArrayList();
+ subs.add(new SubobjectsBuilder().setMandatory(true).setSubobjectType(
+ new IpPrefixBuilder().setIpPrefix(new IpPrefix(new Ipv4Prefix("192.168.0.0/16"))).build()).setAttribute(Attribute.Node).build());
+ subs.add(new SubobjectsBuilder().setMandatory(false).setSubobjectType(
+ new AsNumberBuilder().setAsNumber(new AsNumber(0x1234L)).build()).build());
+ builder.setSubobjects(subs);
+
+ assertEquals(builder.build(), parser.parseObject(new ObjectHeaderImpl(false, false), result));
+ assertArrayEquals(result, parser.serializeObject(builder.build()));
+ }