internal static void TestColorTemplateRelationships(string[] templateTokens, bool checkHybridName,
                                                            TemplateRelationshipType relationshipType, BaseTemplate namedTemplate)
        {
            bool result;

            // Validate Test Results
            foreach (string token in templateTokens)
            {
                if (checkHybridName)
                {
                    result = namedTemplate.FriendlyName.ContainsCurrentCulture(token);
                    Assert.IsTrue(result, $"FriendlyName does not contain the label '{token}'.");
                }

                result = namedTemplate.TemplateRelationships.Contains(token);
                Assert.IsTrue(result, $"TemplateRelationships does not contain the ColorTemplate '{token}'.");
                result = namedTemplate.TemplateRelationships[token].RelationshipType == relationshipType;
                Assert.IsTrue(result, $"TemplateRelationships['{token}'].RelationshipType must be '{relationshipType}'.");
            }

            // Check for Invalid Template Relationships
            System.Collections.Generic.List <string> tokens = new System.Collections.Generic.List <string>(templateTokens);

            foreach (TemplateRelationship r in namedTemplate.TemplateRelationships)
            {
                //Assert.Equals(r.RelationshipType, relationshipType);
                Assert.IsTrue(r.RelationshipType == relationshipType);
                Assert.IsTrue(tokens.Contains(r.RelatedItem.Name));
            }
        }
        private static void TestTemplateRelationships(TemplateRelationshipCollection templateRelationships, TemplateRelationshipType relationshipType, params BaseTemplate[] relatedTemplates)
        {
            switch (relationshipType)
            {
            case TemplateRelationshipType.Comparison:
                Assert.AreEqual(1, templateRelationships.Count);
                Assert.AreEqual(relatedTemplates[0].FriendlyName, templateRelationships[0].RelatedItem.FriendlyName);
                Assert.AreEqual(TemplateRelationshipType.Comparison, templateRelationships[0].RelationshipType);
                break;

            case TemplateRelationshipType.TypeOf:
                var parentRelationships = templateRelationships.Where(tr => tr.RelationshipType == TemplateRelationshipType.TypeOf);
                var parentRelation      = parentRelationships.FirstOrDefault();
                Assert.AreEqual(1, parentRelationships.ToArray().Length);
                Assert.AreEqual(1, relatedTemplates.Length);
                Assert.AreEqual(relatedTemplates[0], parentRelation.RelatedItem);
                break;

            default: throw new System.NotImplementedException();
            }
        }