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

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

            contradiction.TruthValue = truthValue;

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

            // Assert
            actualTruthValue.Should().BeFalse("Because a contradiction should always evaluate to false");
        }