/*
 * Copyright 2014-2018 the original author or authors.
 *
 * 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.
 */
package org.dbflute.intro.app.logic.intro;

import org.dbflute.intro.unit.UnitIntroTestCase;

/**
 * @author cabos (at jjug2018 spring)
 */
public class IntroSystemPropertyLogicTest extends UnitIntroTestCase {

    @Override
    public void setUp() throws Exception {
        super.setUp();
        clearCache();
    }

    private void clearCache() {
        IntroSystemPropertyLogic.SYSTEM_PROPERTY_MAP.remove(IntroSystemPropertyLogic.DECOMMENT_SERVER_KEY);
    }

    public void test_isDecommentServer() throws Exception {
        // ### Arrange ###
        IntroSystemPropertyLogic logic = new IntroSystemPropertyLogic();
        inject(logic);
        System.clearProperty(IntroSystemPropertyLogic.DECOMMENT_SERVER_KEY);
        System.setProperty(IntroSystemPropertyLogic.DECOMMENT_SERVER_KEY, "true");

        // ### Act ###
        // ### Assert ###
        assertTrue(logic.isDecommentServer());
    }

    public void test_isNotDecommentServer() throws Exception {
        // ### Arrange ###
        IntroSystemPropertyLogic logic = new IntroSystemPropertyLogic();
        inject(logic);
        System.clearProperty(IntroSystemPropertyLogic.DECOMMENT_SERVER_KEY);
        System.setProperty(IntroSystemPropertyLogic.DECOMMENT_SERVER_KEY, "false");

        // ### Act ###
        // ### Assert ###
        assertFalse(logic.isDecommentServer());
    }
}

@@ -1871,24 +1871,490 @@
  %22false%22);%0A%0A
+        // ### Act ###%0A        // ### Assert ###%0A        assertFalse(logic.isDecommentServer());%0A    %7D%0A%0A    public void test_isDecommentServer_illegalString() throws Exception %7B%0A        // ### Arrange ###%0A        IntroSystemPropertyLogic logic = new IntroSystemPropertyLogic();%0A        inject(logic);%0A        System.clearProperty(IntroSystemPropertyLogic.DECOMMENT_SERVER_KEY);%0A        System.setProperty(IntroSystemPropertyLogic.DECOMMENT_SERVER_KEY, %22jjug2018%22);%0A%0A
         // #

add intro system prop test (at jjug2018 spring)