///////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2000-2019 Ericsson Telecom AB                               //
//                                                                           //
// All rights reserved. This program and the accompanying materials          //
// are made available under the terms of the Eclipse Public License v2.0     //
// which accompanies this distribution, and is available at                  //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html                                 //
///////////////////////////////////////////////////////////////////////////////
[DEFINE]
selfname := "Test"
[MODULE_PARAMETERS]
tsp_EPTF_Test_selfname := $selfname;
tsp_EPTF_Var_cfg := {
    {
        name := $selfname&".intVal",
        initValue := {
            intVal := 6
        }
    },
    {
        name := $selfname&".floatVal",
        initValue := {
            floatVal := 6.0
        }
    },
    {
        name := $selfname&".boolVal",
        initValue := {
            boolVal := true
        }
    },
    {
        name := $selfname&".charstringVal",
        initValue := {
            charstringVal := "init"
        }
    },
    {
        name := $selfname&".octetstringVal",
        initValue := {
            octetstringVal := '56'O
        }
    },
    {
        name := $selfname&".hexstringVal",
        initValue := {
            hexstringVal := 'F'H
        }
    },
    {
        name := $selfname&".bitstringVal",
        initValue := {
            bitstringVal := '01'B
        }
    },
    {
        name := $selfname&".integerlistVal",
        initValue := {
            integerlistVal := {
                1,
                2,
                3,
                4,
                5,
                6
            }
        }
    },
    {
        name := $selfname&".floatlistVal",
        initValue := {
            floatlistVal := {
                1.0,
                2.0,
                3.0,
                4.0,
                5.0,
                6.0
            }
        }
    },
    {
        name := $selfname&".charstringlistVal",
        initValue := {
            charstringlistVal := {
                "1",
                "2",
                "3",
                "4",
                "5",
                "6"
            }
        }
    },
    {
        name := $selfname&".statusLEDVal",
        initValue := {
            statusLEDVal := {
                color := led_red,
                text := "led"
            }
        }
    }
}

[LOGGING]
LogFile := "%c@%h-%n-%r.log"
LogEntityName := Yes
LogEventTypes := Yes
SourceInfoFormat := Stack

[EXECUTE]
EPTF_Variable_Test_Testcases.control

//saved by GUI
