Exemple #1
0
        public void WhiskeyAndCold()
        {
            // Arrange
            Specification <Drink> whiskeySpec = new WhiskeySpec();
            Specification <Drink> coldSpec    = new ColdDrinkSpec();

            // Act
            var coldWhiskeySpec = whiskeySpec.And(coldSpec);

            // Assert
            coldWhiskeySpec.IsSatisfiedBy(Drink.ColdWhiskey()).Should().BeTrue();
            coldWhiskeySpec.IsSatisfiedBy(Drink.AppleJuice()).Should().BeFalse();
        }
Exemple #2
0
        public void WhiskeyAndCold_using_operator()
        {
            // Arrange
            Drink coldWhiskey = Drink.ColdWhiskey();
            Drink appleJuice  = Drink.AppleJuice();
            Specification <Drink> whiskeySpec = new WhiskeySpec();
            Specification <Drink> coldSpec    = new ColdDrinkSpec();

            // Act
            var coldWhiskeySpec = whiskeySpec & coldSpec;

            // Assert
            coldWhiskeySpec.IsSatisfiedBy(coldWhiskey).Should().BeTrue();
            coldWhiskeySpec.IsSatisfiedBy(appleJuice).Should().BeFalse();
        }