Use switch instead if if-else for dependency and expression checks.
diff --git a/tests/scripts/generate_code.py b/tests/scripts/generate_code.py
index 7af6fdf..f81ec91 100644
--- a/tests/scripts/generate_code.py
+++ b/tests/scripts/generate_code.py
@@ -427,16 +427,15 @@
     noT, dep = ('!', dep[1:]) if dep[0] == '!' else ('', dep)
     assert len(dep) > 0, "Dependency should not be an empty string."
     dep_check = '''
-if ( dep_id == {id} )
-{{
-#if {noT}defined({macro})
-    return( DEPENDENCY_SUPPORTED );
-#else
-    return( DEPENDENCY_NOT_SUPPORTED );
-#endif
-}}
-else
-'''.format(noT=noT, macro=dep, id=dep_id)
+        case {id}:
+            {{
+            #if {noT}defined({macro})
+                ret = DEPENDENCY_SUPPORTED;
+            #else
+                ret = DEPENDENCY_NOT_SUPPORTED;
+            #endif
+            }}
+            break;'''.format(noT=noT, macro=dep, id=dep_id)
     return dep_check
 
 
@@ -451,12 +450,11 @@
     assert exp_id > -1, "Expression Id should be a positive integer."
     assert len(exp) > 0, "Expression should not be an empty string."
     exp_code = '''
-if ( exp_id == {exp_id} )
-{{
-    *out_value = {expression};
-}}
-else
-'''.format(exp_id=exp_id, expression=exp)
+        case {exp_id}:
+            {{
+                *out_value = {expression};
+            }}
+            break;'''.format(exp_id=exp_id, expression=exp)
     return exp_code
 
 
@@ -527,28 +525,16 @@
     :param expression_code: 
     :return: 
     """
-    # void unused params
-    if len(dep_check_code) == 0:
-        dep_check_code = '(void) dep_id;\n'
-    if len(expression_code) == 0:
-        expression_code = '(void) exp_id;\n'
-        expression_code += '(void) out_value;\n'
-
     if len(suite_deps):
         ifdef = gen_deps_one_line(suite_deps)
         dep_check_code = '''
 {ifdef}
 {code}
-#else
-(void) dep_id;
 #endif
 '''.format(ifdef=ifdef, code=dep_check_code)
         expression_code = '''
 {ifdef}
 {code}
-#else
-(void) exp_id;
-(void) out_value;
 #endif
 '''.format(ifdef=ifdef, code=expression_code)
     return dep_check_code, expression_code
diff --git a/tests/suites/main_test.function b/tests/suites/main_test.function
index e294e36..93b32cc 100644
--- a/tests/suites/main_test.function
+++ b/tests/suites/main_test.function
@@ -63,12 +63,22 @@
  */
 int get_expression( int32_t exp_id, int32_t * out_value )
 {{
+    int ret = KEY_VALUE_MAPPING_FOUND;
+
+    (void) exp_id;
+    (void) out_value;
+
+    switch( exp_id )
+    {{
 {expression_code}
 #line {line_no} "suites/main_test.function"
-    {{
-        return( KEY_VALUE_MAPPING_NOT_FOUND );
+        default:
+           {{
+                ret = KEY_VALUE_MAPPING_NOT_FOUND;
+           }}
+           break;
     }}
-    return( KEY_VALUE_MAPPING_FOUND );
+    return( ret );
 }}
 
 
@@ -85,11 +95,18 @@
  */
 int dep_check( int dep_id )
 {{
+    int ret = DEPENDENCY_NOT_SUPPORTED;
+
+    (void) dep_id;
+
+    switch( dep_id )
+    {{
 {dep_check_code}
 #line {line_no} "suites/main_test.function"
-    {{
-         return( DEPENDENCY_NOT_SUPPORTED );
+        default:
+            break;
     }}
+    return( ret );
 }}