public void Returns_false_when_no_principal_providers_exist()
        {
            var principalProvider = new Mock<IPrincipalProvider>();
            principalProvider.Setup(x => x.GetPrincipal("username", "password"))
                .Returns((string username, string password) => new PrincipalProviderResult());

            var service = new MembershipService(new IPrincipalProvider[] {}, null);
            var result = service.ValidateUser("username", "password");

            result.ShouldBeFalse();
        }
        public void Returns_true_when_a_principal_provider_returns_a_principal()
        {
            var principalProvider = new Mock<IPrincipalProvider>();
            principalProvider.Setup(x => x.GetPrincipal("username", "password"))
                .Returns(CreateResultWithThisPrincipal(new Mock<IPrincipal>().Object));

            var service = new MembershipService(new[] {principalProvider.Object}, null);
            var result = service.ValidateUser("username", "password");

            result.ShouldBeTrue();
        }