Example #1
0
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 << ")";
}