/* * Copyright (C) 2014 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef H_AAPT_SPLIT_TEST_RULES #define H_AAPT_SPLIT_TEST_RULES #include "Rule.h" #include namespace split { namespace test { struct AndRule : public Rule { AndRule() { op = Rule::AND_SUBRULES; } AndRule& add(const Rule& rhs) { subrules.add(new Rule(rhs)); return *this; } }; struct OrRule : public Rule { OrRule() { op = Rule::OR_SUBRULES; } OrRule& add(const Rule& rhs) { subrules.add(new Rule(rhs)); return *this; } }; const Rule EqRule(Rule::Key key, long value); const Rule LtRule(Rule::Key key, long value); const Rule GtRule(Rule::Key key, long value); const Rule ContainsAnyRule(Rule::Key key, const char* str1); const Rule ContainsAnyRule(Rule::Key key, const char* str1, const char* str2); const Rule AlwaysTrue(); ::testing::AssertionResult RulePredFormat( const char* actualExpr, const char* expectedExpr, const android::sp& actual, const Rule& expected); #define EXPECT_RULES_EQ(actual, expected) \ EXPECT_PRED_FORMAT2(::split::test::RulePredFormat, actual, expected) } // namespace test } // namespace split #endif // H_AAPT_SPLIT_TEST_RULES