/* * Copyright (C) 2012 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. */ #include "TaskCaseCommon.h" class TaskSequentialTest : public testing::Test { public: TaskCase* mTestCase; TaskSequential* mSequential; virtual void SetUp() { TaskGeneric* setup = NULL; TaskGeneric* action = NULL; mTestCase = getTaskCase(setup, action); ASSERT_TRUE(mTestCase != NULL); ASSERT_TRUE(setup != NULL); ASSERT_TRUE(action != NULL); mSequential = new TaskSequential(); action->addChild(mSequential); } virtual void TearDown() { delete mTestCase; } }; TEST_F(TaskSequentialTest, AttributeTest) { const android::String8 REPEAT("repeat"); const android::String8 N_10("10"); const android::String8 INDEX("index"); const android::String8 I("i"); const android::String8 NO_SUCH_THING("no_such_thing"); const android::String8 SHOULD_FAIL("should_fail"); ASSERT_TRUE(mSequential->parseAttribute(REPEAT, N_10)); ASSERT_TRUE(mSequential->parseAttribute(INDEX, I)); ASSERT_TRUE(!mSequential->parseAttribute(NO_SUCH_THING, SHOULD_FAIL)); mSequential->run(); const android::String8 RE(".*"); std::list* indices = mTestCase->findAllIndices(RE); ASSERT_TRUE(indices != NULL); ASSERT_TRUE(indices->size() == 1); int index = -10; ASSERT_TRUE(mTestCase->findIndex(I, index)); ASSERT_TRUE(index == 10); delete indices; }