bool operator==(const StepsTimingFunction& lhs, const TimingFunction& rhs) { if (rhs.type() != TimingFunction::StepsFunction) return false; const StepsTimingFunction& stf = toStepsTimingFunction(rhs); return (lhs.numberOfSteps() == stf.numberOfSteps()) && (lhs.stepAtPosition() == stf.stepAtPosition()); }
bool operator==(const StepsTimingFunction& lhs, const TimingFunction& rhs) { if (rhs.type() != TimingFunction::StepsFunction) return false; const StepsTimingFunction& stf = toStepsTimingFunction(rhs); if ((lhs.subType() == StepsTimingFunction::Custom) && (stf.subType() == StepsTimingFunction::Custom)) return (lhs.numberOfSteps() == stf.numberOfSteps()) && (lhs.stepAtStart() == stf.stepAtStart()); return lhs.subType() == stf.subType(); }
void PrintTo(const StepsTimingFunction& timingFunction, ::std::ostream* os) { *os << "StepsTimingFunction@" << &timingFunction << "("; switch (timingFunction.subType()) { case StepsTimingFunction::Start: *os << "Start"; break; case StepsTimingFunction::End: *os << "End"; break; case StepsTimingFunction::Custom: *os << "Custom"; break; default: ASSERT_NOT_REACHED(); } *os << ", " << timingFunction.numberOfSteps(); *os << ", " << (timingFunction.stepAtStart() ? "true" : "false"); *os << ")"; }