1*90c8c64dSAndroid Build Coastguard Worker /* 2*90c8c64dSAndroid Build Coastguard Worker * Copyright (C) 2023 The Android Open Source Project 3*90c8c64dSAndroid Build Coastguard Worker * 4*90c8c64dSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*90c8c64dSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*90c8c64dSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*90c8c64dSAndroid Build Coastguard Worker * 8*90c8c64dSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*90c8c64dSAndroid Build Coastguard Worker * 10*90c8c64dSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*90c8c64dSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*90c8c64dSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*90c8c64dSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*90c8c64dSAndroid Build Coastguard Worker * limitations under the License. 15*90c8c64dSAndroid Build Coastguard Worker */ 16*90c8c64dSAndroid Build Coastguard Worker 17*90c8c64dSAndroid Build Coastguard Worker package com.example.android.aconfig.demo; 18*90c8c64dSAndroid Build Coastguard Worker 19*90c8c64dSAndroid Build Coastguard Worker import static org.junit.Assert.assertEquals; 20*90c8c64dSAndroid Build Coastguard Worker 21*90c8c64dSAndroid Build Coastguard Worker import android.platform.test.flag.junit.SetFlagsRule; 22*90c8c64dSAndroid Build Coastguard Worker import com.example.android.aconfig.demo.flags.Flags; 23*90c8c64dSAndroid Build Coastguard Worker 24*90c8c64dSAndroid Build Coastguard Worker import org.junit.Assume; 25*90c8c64dSAndroid Build Coastguard Worker import org.junit.Rule; 26*90c8c64dSAndroid Build Coastguard Worker import org.junit.Test; 27*90c8c64dSAndroid Build Coastguard Worker import org.junit.runner.RunWith; 28*90c8c64dSAndroid Build Coastguard Worker import org.junit.runners.Parameterized; 29*90c8c64dSAndroid Build Coastguard Worker 30*90c8c64dSAndroid Build Coastguard Worker @RunWith(Parameterized.class) 31*90c8c64dSAndroid Build Coastguard Worker public final class StaticContentUnitTests { 32*90c8c64dSAndroid Build Coastguard Worker @Rule public final SetFlagsRule mSetFlagsRule; 33*90c8c64dSAndroid Build Coastguard Worker 34*90c8c64dSAndroid Build Coastguard Worker @Parameterized.Parameters(name = "isInitWithDefault={0}") data()35*90c8c64dSAndroid Build Coastguard Worker public static Object[] data() { 36*90c8c64dSAndroid Build Coastguard Worker return new Boolean[] {false, true}; 37*90c8c64dSAndroid Build Coastguard Worker } 38*90c8c64dSAndroid Build Coastguard Worker StaticContentUnitTests(boolean isInitWithDefault)39*90c8c64dSAndroid Build Coastguard Worker public StaticContentUnitTests(boolean isInitWithDefault) { 40*90c8c64dSAndroid Build Coastguard Worker mIsInitWithDefault = isInitWithDefault; 41*90c8c64dSAndroid Build Coastguard Worker mSetFlagsRule = new SetFlagsRule(isInitWithDefault 42*90c8c64dSAndroid Build Coastguard Worker ? SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT 43*90c8c64dSAndroid Build Coastguard Worker : SetFlagsRule.DefaultInitValueType.NULL_DEFAULT); 44*90c8c64dSAndroid Build Coastguard Worker } 45*90c8c64dSAndroid Build Coastguard Worker 46*90c8c64dSAndroid Build Coastguard Worker private boolean mIsInitWithDefault; 47*90c8c64dSAndroid Build Coastguard Worker 48*90c8c64dSAndroid Build Coastguard Worker @Test staticContent_enable_staticFlag_disable_thirdFlag()49*90c8c64dSAndroid Build Coastguard Worker public void staticContent_enable_staticFlag_disable_thirdFlag() { 50*90c8c64dSAndroid Build Coastguard Worker Assume.assumeTrue(!mIsInitWithDefault); 51*90c8c64dSAndroid Build Coastguard Worker mSetFlagsRule.enableFlags(Flags.FLAG_APPEND_STATIC_CONTENT); 52*90c8c64dSAndroid Build Coastguard Worker mSetFlagsRule.disableFlags(Flags.FLAG_THIRD_FLAG); 53*90c8c64dSAndroid Build Coastguard Worker mSetFlagsRule.disableFlags(Flags.FLAG_READ_ONLY_FLAG); 54*90c8c64dSAndroid Build Coastguard Worker StaticContent statiContent = new StaticContent(); 55*90c8c64dSAndroid Build Coastguard Worker String ret = statiContent.getContent(); 56*90c8c64dSAndroid Build Coastguard Worker StringBuilder expected = new StringBuilder(); 57*90c8c64dSAndroid Build Coastguard Worker expected.append("The flag: appendStaticContent is ON!!\n\n"); 58*90c8c64dSAndroid Build Coastguard Worker expected.append("The flag: thirdFlag is OFF!!\n\n"); 59*90c8c64dSAndroid Build Coastguard Worker expected.append("The flag: read only flag static is OFF!!\n\n"); 60*90c8c64dSAndroid Build Coastguard Worker assertEquals("Expected message", expected.toString(), ret); 61*90c8c64dSAndroid Build Coastguard Worker } 62*90c8c64dSAndroid Build Coastguard Worker 63*90c8c64dSAndroid Build Coastguard Worker @Test staticContent_enable_thirdFlag_with_default()64*90c8c64dSAndroid Build Coastguard Worker public void staticContent_enable_thirdFlag_with_default() { 65*90c8c64dSAndroid Build Coastguard Worker Assume.assumeTrue(mIsInitWithDefault); 66*90c8c64dSAndroid Build Coastguard Worker mSetFlagsRule.enableFlags(Flags.FLAG_THIRD_FLAG); 67*90c8c64dSAndroid Build Coastguard Worker StaticContent statiContent = new StaticContent(); 68*90c8c64dSAndroid Build Coastguard Worker String ret = statiContent.getContent(); 69*90c8c64dSAndroid Build Coastguard Worker StringBuilder expected = new StringBuilder(); 70*90c8c64dSAndroid Build Coastguard Worker expected.append("The flag: appendStaticContent is OFF!!\n\n"); 71*90c8c64dSAndroid Build Coastguard Worker expected.append("The flag: thirdFlag is ON!!\n\n"); 72*90c8c64dSAndroid Build Coastguard Worker expected.append("The flag: read only flag static is OFF!!\n\n"); 73*90c8c64dSAndroid Build Coastguard Worker assertEquals("Expected message", expected.toString(), ret); 74*90c8c64dSAndroid Build Coastguard Worker } 75*90c8c64dSAndroid Build Coastguard Worker } 76*90c8c64dSAndroid Build Coastguard Worker 77