def satisfy?(y)
unless y.kind_of?(RPMDependency)
raise ArgumentError, "Expecting an RPMDependency object"
end
x = self
if x.name != y.name
return false
end
sense = x.version.partial_compare(y.version)
if sense < 0 and (x.flag == :> || x.flag == :>=) || (y.flag == :<= || y.flag == :<)
return true
elsif sense > 0 and (x.flag == :< || x.flag == :<=) || (y.flag == :>= || y.flag == :>)
return true
elsif sense == 0 and (
((x.flag == :== or x.flag == :<= or x.flag == :>=) and (y.flag == :== or y.flag == :<= or y.flag == :>=)) or
(x.flag == :< and y.flag == :<) or
(x.flag == :> and y.flag == :>)
)
return true
end
return false
end