public void SpecificationExtensions_Or_OrSpecificationProduced()
 {
     var mockRepository = new MockRepository(MockBehavior.Strict);
     var specification1 = mockRepository.CreateSpecificationMock<string>();
     var specification2 = mockRepository.CreateSpecificationMock<string>();
     var orSpecification = specification1.Or(specification2) as OrSpecification<string>;
     Assert.IsNotNull(orSpecification);
     Assert.AreEqual(specification1, orSpecification.LeftSpecification);
     Assert.AreEqual(specification2, orSpecification.RightSpecification);
 }
 private void AssertIsSatisfiedBy(bool leftSpecificationIsSatisfiedBy, bool rightSpecificationIsSatisfiedBy,
     bool expected)
 {
     var mockRepository = new MockRepository(MockBehavior.Strict);
     var leftSpecification = mockRepository.CreateSpecificationMock<string>(leftSpecificationIsSatisfiedBy);
     var rightSpecification = leftSpecificationIsSatisfiedBy
                                  ? mockRepository.CreateSpecificationMock<string>()
                                  : mockRepository.CreateSpecificationMock<string>(rightSpecificationIsSatisfiedBy);
     var specification = new OrSpecification<string>(leftSpecification, rightSpecification);
     Assert.AreEqual(expected, specification.IsSatisfiedBy("test"));
     mockRepository.VerifyAll();
 }
 public void OrSpecification_Constructor_RightSpecificationNull_Exception()
 {
     var mockRepository = new MockRepository(MockBehavior.Strict);
     var specification = mockRepository.CreateSpecificationMock<string>();
     // ReSharper disable ObjectCreationAsStatement
     new OrSpecification<string>(specification, null);
     // ReSharper restore ObjectCreationAsStatement
 }
 public void NotSpecification_IsSatisfiedBy_SpecificationTrue_False()
 {
     var mockRepository = new MockRepository(MockBehavior.Strict);
     var singleSpecification = mockRepository.CreateSpecificationMock<string>(true);
     var specification = new NotSpecification<string>(singleSpecification);
     Assert.AreEqual(false, specification.IsSatisfiedBy("test"));
     mockRepository.VerifyAll();
 }
 public void SpecificationExtensions_Not_NotSpecificationProduced()
 {
     var mockRepository = new MockRepository(MockBehavior.Strict);
     var specification = mockRepository.CreateSpecificationMock<string>();
     var notSpecification = specification.Not() as NotSpecification<string>;
     Assert.IsNotNull(notSpecification);
     Assert.AreEqual(specification, notSpecification.Specification);
 }