1 /* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 * use this file except in compliance with the License. You may obtain a copy of 6 * the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations under 14 * the License. 15 */ 16 17 #include "TaskCaseCommon.h" 18 class TaskSequentialTest : public testing::Test { 19 public: 20 TaskCase* mTestCase; 21 TaskSequential* mSequential; 22 23 24 virtual void SetUp() { 25 TaskGeneric* setup = NULL; 26 TaskGeneric* action = NULL; 27 mTestCase = getTaskCase(setup, action); 28 ASSERT_TRUE(mTestCase != NULL); 29 ASSERT_TRUE(setup != NULL); 30 ASSERT_TRUE(action != NULL); 31 mSequential = new TaskSequential(); 32 action->addChild(mSequential); 33 } 34 35 virtual void TearDown() { 36 delete mTestCase; 37 } 38 }; 39 40 41 TEST_F(TaskSequentialTest, AttributeTest) { 42 const android::String8 REPEAT("repeat"); 43 const android::String8 N_10("10"); 44 const android::String8 INDEX("index"); 45 const android::String8 I("i"); 46 const android::String8 NO_SUCH_THING("no_such_thing"); 47 const android::String8 SHOULD_FAIL("should_fail"); 48 ASSERT_TRUE(mSequential->parseAttribute(REPEAT, N_10)); 49 ASSERT_TRUE(mSequential->parseAttribute(INDEX, I)); 50 ASSERT_TRUE(!mSequential->parseAttribute(NO_SUCH_THING, SHOULD_FAIL)); 51 mSequential->run(); 52 const android::String8 RE(".*"); 53 std::list<TaskCase::IndexPair>* indices = mTestCase->findAllIndices(RE); 54 ASSERT_TRUE(indices != NULL); 55 ASSERT_TRUE(indices->size() == 1); 56 int index = -10; 57 58 ASSERT_TRUE(mTestCase->findIndex(I, index)); 59 ASSERT_TRUE(index == 10); 60 delete indices; 61 } 62 63 64 65 66