private void CoG_Defuzzify(IMembershipFunction memFunc, Double expectedResult) { //Arrange LinguisticVariable temp = new LinguisticVariable("v"); temp.MembershipFunctions.Add(memFunc); memFunc.PremiseModifier = 1; var defuzz = new CoGDefuzzification(); //Act var result = defuzz._Defuzzify(temp.MembershipFunctions.ToList()); //Assert Assert.That(Math.Floor(result), Is.EqualTo(expectedResult)); }
public void CoG_Defuzzify() { //Arrange LinguisticVariable temp = new LinguisticVariable("Tempurature"); var cold = temp.MembershipFunctions.AddTrapezoid("Cold", 0, 0, 30, 50); var warm = temp.MembershipFunctions.AddTriangle("Warm", 30, 50, 70); var hot = temp.MembershipFunctions.AddTrapezoid("Hot", 70, 80, 90, 90); cold.PremiseModifier = 0.5; warm.PremiseModifier = 0.5; hot.PremiseModifier = 0.5; var defuzz = new CoGDefuzzification(); var defuzzTrap = new TrapezoidCoGDefuzzification(); //Act var resultIntg = defuzz._Defuzzify(temp.MembershipFunctions.ToList()); var resultTrap = defuzz.Defuzzify(temp.MembershipFunctions.ToList()); //Assert var expectedResult = 40; Assert.That(Math.Floor(resultIntg), Is.EqualTo(expectedResult)); Assert.That(Math.Floor(resultTrap), Is.EqualTo(expectedResult)); }