protected override string UnitTestProjectTemplatePath(Project sourceProject)
        {
            string templateName;
            var    projectLanguage = VisualStudioHelper.GetProjectLanguage(sourceProject);
            var    isCSharp        = projectLanguage == "CSharp";

            var projectTypeGuids = sourceProject.ProjectTypeGuids(serviceProvider).ToList();

            if (projectTypeGuids.Contains(GUID_WindowsStore81))
            {
                templateName = isCSharp ? "Microsoft.CS.WinRT.UnitTestLibrary" : "Microsoft.VisualBasic.WinRT.UnitTestLibrary";
            }
            else if (isCSharp && projectTypeGuids.Contains(GUID_WindowsPhoneApp81))  // No VB template for WPA81, have to fall back to a class library
            {
                templateName = "Microsoft.CS.WindowsPhoneApp.UnitTestApp";
            }
            else if (projectTypeGuids.Contains(GUID_UniversalWindows))
            {
                templateName = isCSharp ? "Microsoft.CSharp.UAP.UnitTestProject" : "Microsoft.VisualBasic.UAP.UnitTestProject";
            }
            else
            {
                templateName = isCSharp ? "Microsoft.CSharp.ClassLibrary" : "Microsoft.VisualBasic.Windows.ClassLibrary";
            }

            return(solution.GetProjectTemplate(templateName, projectLanguage));
        }