public void ConvertArgumentsToJunction_Given2Arguments_ExpectJunction()
        {
            // Arrange...
            var arguments = new List <IEvaluatable>();

            arguments.Add(ItsAFact.That("sky").Is("blue"));

            //var expected = new List<IEvaluatable>();
            var expected = All.Of(ItsAFact.That("sky").Is("blue")).IsTrue();

            // Act...
            var result = ImplicationHelper.ConvertArgumentsToJunction(arguments, Junction.AND);

            // Assert...
            Assert.AreEqual(expected, result);
        }
        public void MergeImplications_GivenImplicationsWithSameAntecedent_ExpectMergedImplication2()
        {
            // Arrange...
            var input = new List <IEvaluatable>();

            input.Add(If.When(ItsAFact.That("sky").Is("blue")).Then(ItsAFact.That("ground").Is("soft")));
            input.Add(If.When(ItsAFact.That("sky").Is("blue")).Then(ItsAFact.That("ground").Is("hard")));

            var expected = new List <IEvaluatable>();

            expected.Add(If.When(ItsAFact.That("sky").Is("blue")).Then(Any.Of(ItsAFact.That("ground").Is("soft")).Or(ItsAFact.That("ground").Is("hard")).IsTrue()));
            // Act...
            var results = ImplicationHelper.MergeImplications(input);

            // Assert...
            CollectionAssert.AreEquivalent(expected, results);
        }