internal void Evaluate_WithVariousValues_ReturnsExpectedResult(double membership, double expected) { // Arrange var isOperator = LogicOperators.Is(); // Act var result = isOperator.Evaluate(UnitInterval.Create(membership)); // Assert Assert.Equal(UnitInterval.Create(expected), result); }
internal void ToString_ReturnsExpectedString() { // Arrange var waterTemp = StubLinguisticVariableFactory.WaterTemp(); var conclusion = new Conclusion(waterTemp, LogicOperators.Is(), FuzzyState.Create(WaterTemp.Cold)); // Act var result = conclusion.ToString(); // Assert Assert.Equal("THEN WaterTemp IS cold", result); }
internal void ToString_ReturnsExpectedString() { // Arrange var waterTemp = StubLinguisticVariableFactory.WaterTemp(); var premise = new Premise( LogicOperators.If(), waterTemp, LogicOperators.Is(), FuzzyState.Create(WaterTemp.Cold)); // Act var result = premise.ToString(); // Assert Assert.Equal("IF WaterTemp IS cold", result); }
/// <summary> /// Returns a proposition based on whether the variable IS in the given state. /// </summary> /// <param name="state"> /// The state. /// </param> /// <returns> /// The <see cref="Premise"/>. /// </returns> public Proposition Is(FuzzyState state) { return(new Proposition(this, LogicOperators.Is(), state)); }
internal void ValidateProposition_WhenStateNotAMemberOfLinguisticVariable_Throws() { // Arrange var waterTemp = StubLinguisticVariableFactory.WaterTemp(); // Invalid fuzzy state. var fuzzyState = FuzzyState.Create(PumpSpeed.Off); // Act // Assert Assert.Throws <InvalidOperationException>(() => new Proposition(waterTemp, LogicOperators.Is(), fuzzyState)); }