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 18 #include <gtest/gtest.h> 19 #include <task/ModelBuilder.h> 20 21 22 class ModelBuilderTest : public testing::Test { 23 public: 24 ModelBuilder mModelBuilder; 25 }; 26 27 TEST_F(ModelBuilderTest, ParsingCaseNoAttribTest) { 28 android::String8 xmlFile("test_description/test/no_attrib.xml"); 29 TaskGeneric* testCase = mModelBuilder.parseTestDescriptionXml(xmlFile); 30 ASSERT_TRUE(testCase != NULL); 31 //TODO verify TestCase 32 delete testCase; 33 } 34 35 TEST_F(ModelBuilderTest, ParsingCaseTest) { 36 android::String8 xmlFile("test_description/host_speaker_calibration.xml"); 37 TaskGeneric* testCase = mModelBuilder.parseTestDescriptionXml(xmlFile); 38 ASSERT_TRUE(testCase != NULL); 39 //TODO verify TestCase 40 delete testCase; 41 } 42 43 TEST_F(ModelBuilderTest, ParsingBatchTest) { 44 android::String8 xmlFile("test_description/all_playback.xml"); 45 TaskGeneric* testBatch = mModelBuilder.parseTestDescriptionXml(xmlFile); 46 ASSERT_TRUE(testBatch != NULL); 47 //TODO verify TestCase 48 delete testBatch; 49 } 50 51 TEST_F(ModelBuilderTest, CaseOnlyTest) { 52 android::String8 xmlFile("test_description/all_playback.xml"); 53 TaskGeneric* task = mModelBuilder.parseTestDescriptionXml(xmlFile, true); 54 ASSERT_TRUE(task == NULL); 55 56 delete task; 57 } 58 59 TEST_F(ModelBuilderTest, MissingMandatoryTest) { 60 android::String8 xmlFile("test_description/test/missing_mandatory.xml"); 61 TaskGeneric* task = mModelBuilder.parseTestDescriptionXml(xmlFile); 62 ASSERT_TRUE(task == NULL); 63 delete task; 64 } 65 66 TEST_F(ModelBuilderTest, UnknownElementTest) { 67 android::String8 xmlFile("test_description/test/unknown_element.xml"); 68 TaskGeneric* task = mModelBuilder.parseTestDescriptionXml(xmlFile); 69 ASSERT_TRUE(task == NULL); 70 delete task; 71 } 72 73 TEST_F(ModelBuilderTest, WrongAttributeTest) { 74 android::String8 xmlFile("test_description/test/wrong_attrib.xml"); 75 TaskGeneric* task = mModelBuilder.parseTestDescriptionXml(xmlFile); 76 ASSERT_TRUE(task == NULL); 77 delete task; 78 } 79 80 TEST_F(ModelBuilderTest, BuiltinRMSTest) { 81 android::String8 xmlFile("test_description/test/test_rms_vma.xml"); 82 TaskGeneric* task = mModelBuilder.parseTestDescriptionXml(xmlFile); 83 ASSERT_TRUE(task != NULL); 84 TaskGeneric::ExecutionResult result = task->run(); 85 ASSERT_TRUE((result == TaskGeneric::EResultOK) || (result == TaskGeneric::EResultPass)); 86 delete task; 87 } 88 89