private static bool PerformTests(string listName, string targetInputAttribute, string targetOutputAttribute, TestCallback callback)
        {
            (bool success, XmlNode nodeList)testMatch = XmlManager.GetFirstLevelChild(listName, ref testDocument, "name");

            if (testMatch.nodeList.Attributes["run"].Value == "false")
            {
                return(true);
            }

            bool passed = true;

            if (testMatch.success)
            {
                foreach (XmlNode node in testMatch.nodeList.ChildNodes)
                {
                    bool success = callback(
                        node.Attributes[targetInputAttribute].Value,
                        node.Attributes[targetOutputAttribute].Value,
                        node.Attributes["debug"].Value == "true"
                        );

                    passed = success ? passed : false;
                }
            }

            if (!passed)
            {
                GUIController.LogOutput($"Test {listName} FAILED");
            }

            return(passed);
        }