/// <summary>
 /// Checks the specified configuration manager.
 /// </summary>
 /// <param name="configurationManager">The configuration manager.</param>
 /// <returns></returns>
 public override ProblemCollection Check(ServiceModelConfigurationManager configurationManager)
 {
     // Check for service endpoints
     foreach (ServiceElement serviceElement in configurationManager.GetServices())
     {
         foreach(ServiceEndpointElement endpointElement in serviceElement.Endpoints)
         {
             if(endpointElement.Binding.Equals(CustomBindingAttributeValue, StringComparison.InvariantCultureIgnoreCase))
             {
                 CheckRuleForCustomBinding(configurationManager.GetCustomBinding(endpointElement.BindingConfiguration));
             }
         }
     }
     // Check for client endponts
     ClientSection client = configurationManager.ServiceModelSection.Client;
     if(client != null)
     {
         foreach(ChannelEndpointElement clientEndpoint in client.Endpoints)
         {
             if (clientEndpoint.Binding.Equals(CustomBindingAttributeValue, StringComparison.InvariantCultureIgnoreCase))
             {
                 CheckRuleForCustomBinding(configurationManager.GetCustomBinding(clientEndpoint.BindingConfiguration));
             }
         }
     }
     return base.Problems;
 }
        public void CanCheckIfContainsServices()
        {
            ServiceModelConfigurationManager manager = LoadManager();

            Assert.IsTrue(manager.GetServices().Count > 0);
            Assert.IsTrue(manager.HasServices);
        }