Repository: damar-wicaksono/uqtestfuns (language: python)

Issue:
Remove bracket in the application tags when printing out an instance of test functions
Currently the string representation of a test function is as follows:

```
>>> my_testfun = uqtf.Borehole()
>>> print(my_testfun)
Function ID      : Borehole
Input Dimension  : 8 (fixed)
Output Dimension : 1
Parameterized    : False
Description      : Borehole function from Harper and Gupta (1983)
Applications     : ['metamodeling', 'sensitivity']
```

The content of "Applications" should be printed out without brackets and without the quotation marks.


Discussion / hints:

Fix patch:
diff --git a/README.md b/README.md
index ac98de9..f954b67 100644
--- a/README.md
+++ b/README.md
@@ -65,7 +65,7 @@ Input Dimension  : 8 (fixed)
 Output Dimension : 1
 Parameterized    : False
 Description      : Borehole function from Harper and Gupta (1983)
-Applications     : ['metamodeling', 'sensitivity']
+Applications     : metamodeling, sensitivity
 ```
 
 The probabilistic input specification of this test function is built-in:


Test patch:
diff --git a/src/uqtestfuns/core/uqtestfun_abc.py b/src/uqtestfuns/core/uqtestfun_abc.py
index 693a7e4..25ec141 100644
--- a/src/uqtestfuns/core/uqtestfun_abc.py
+++ b/src/uqtestfuns/core/uqtestfun_abc.py
@@ -293,13 +293,14 @@ def __str__(self):
             input_dimension = f"{self.input_dimension} (variable)"
         else:
             input_dimension = f"{self.input_dimension} (fixed)"
+        tags = ", ".join(self.tags)
         out = (
             f"Function ID      : {self.function_id}\n"
             f"Input Dimension  : {input_dimension}\n"
             f"Output Dimension : {self.output_dimension}\n"
             f"Parameterized    : {bool(self.parameters)}\n"
             f"Description      : {self.description}\n"
-            f"Applications     : {self.tags}"
+            f"Applications     : {tags}"
         )
 
         return out
diff --git a/tests/builtin_test_functions/test_test_functions.py b/tests/builtin_test_functions/test_test_functions.py
index 76e03e9..54e63a1 100644
--- a/tests/builtin_test_functions/test_test_functions.py
+++ b/tests/builtin_test_functions/test_test_functions.py
@@ -156,13 +156,14 @@ def test_str(builtin_testfun):
         input_dim = f"{my_fun.input_dimension} (variable)"
     else:
         input_dim = f"{my_fun.input_dimension} (fixed)"
+    tags = ", ".join(my_fun.tags)
     str_ref = (
         f"Function ID      : {my_fun.function_id}\n"
         f"Input Dimension  : {input_dim}\n"
         f"Output Dimension : {my_fun.output_dimension}\n"
         f"Parameterized    : {bool(my_fun.parameters)}\n"
         f"Description      : {my_fun.description}\n"
-        f"Applications     : {my_fun.tags}"
+        f"Applications     : {tags}"
     )
 
     assert my_fun.__str__() == str_ref