'Assert a sub_dict is subset of super_dict.'

def match(self, sub_dict):

    if (not set(sub_dict.keys()).issubset(set(self.super_dict.keys()))):
        return SubDictMismatch(keys=True)
    for (k, sub_value) in sub_dict.items():
        super_value = self.super_dict[k]
        if isinstance(sub_value, dict):
            matcher = IsSubDictOf(super_value)
            did_match = matcher.match(sub_value)
            if (did_match is not None):
                return did_match
        elif ('DONTCARE' in (sub_value, super_value)):
            continue
        elif (sub_value != super_value):
            return SubDictMismatch(k, sub_value, super_value)
