public void CreateTautologyFromProposition_NullGiven_ExpectedNullReferenceExceptionThrown()
        {
            // Arrange // Act
            Action act = () => PropositionGenerator.CreateTautologyFromProposition(null);

            // Assert
            act.Should().Throw <NullReferenceException>("Because create tautology requires a proposition");
        }
        public void CreateTautologyFromProposition_ValidPropositionGiven_ExpectedAllAssignmentsToResultInTrue(bool truthValue)
        {
            // Arrange
            Proposition randomProposition = PropositionGenerator.GetRandomProposition();
            Proposition tautology         = PropositionGenerator.CreateTautologyFromProposition(randomProposition);

            tautology.TruthValue = truthValue;

            // Act
            bool actualTruthValue = tautology.Calculate();

            // Assert
            actualTruthValue.Should().BeTrue("Because a tautology should always evaluate to true");
        }