def test_get_key_from_subedge_info_not_matching(self):
     subv1 = PartitionedVertex(None, "")
     subv2 = PartitionedVertex(None, "")
     sube = MultiCastPartitionedEdge(subv1, subv2)
     subz = MultiCastPartitionedEdge(subv2, subv1)
     keys_and_masks = list()
     keys_and_masks.append(BaseKeyAndMask(0x0012, 0x00ff))
     sri = SubedgeRoutingInfo(keys_and_masks, sube)
     ri = RoutingInfo([sri])
     ri_keys_and_masks = ri.get_keys_and_masks_from_subedge(subz)
     self.assertEqual(ri_keys_and_masks, None)
    def test_get_key_from_subedge_info(self):
        """

        :return:
        """
        subv1 = PartitionedVertex(None, "")
        subv2 = PartitionedVertex(None, "")
        sube = MultiCastPartitionedEdge(subv1, subv2)
        keys_and_masks = list()
        keys_and_masks.append(BaseKeyAndMask(0x0012, 0x00ff))
        sri = SubedgeRoutingInfo(keys_and_masks, sube)
        ri = RoutingInfo([sri])
        ri_keys_and_masks = ri.get_keys_and_masks_from_subedge(sri.subedge)
        for key_and_mask in ri_keys_and_masks:
            self.assertEqual(key_and_mask.key, 0x0012)