public void CreateMembershipFunctionEntity_ThrowsInvalidEnumArgumentExceptionIfMembershipFunctionTypeIsUnknown() { // Arrange MembershipFunctionType membershipFunctionType = MembershipFunctionType.Triangular; string membershipFunctionName = "High"; List <double> points = new List <double>(); // Act & Assert Assert.Throws <InvalidEnumArgumentException>(() => { _membershipFunctionCreator.CreateMembershipFunctionEntity(membershipFunctionType, membershipFunctionName, points); }); }
public void CreateMembershipFunctionEntity_ThrowsArgumentOutOfRangeExceptionForTrapezoidalFunction() { // Arrange MembershipFunctionType membershipFunctionType = MembershipFunctionType.Trapezoidal; string membershipFunctionName = "High"; List <double> points = new List <double> { 1, 2 }; // Act & Assert Assert.Throws <ArgumentOutOfRangeException>(() => { _membershipFunctionCreator.CreateMembershipFunctionEntity(membershipFunctionType, membershipFunctionName, points); }); }
public MembershipFunction CreateMembershipFunctionEntity(MembershipFunctionType membershipFunctionType, string membershipFunctionName, List <double> points) { int countOfPoints = points.Count; switch (membershipFunctionType) { case MembershipFunctionType.Trapezoidal: if (countOfPoints != 4) { throw new ArgumentOutOfRangeException($"Trapesoidal membership function contains {countOfPoints} points instead of 4."); } return(new TrapezoidalMembershipFunction(membershipFunctionName, points[0], points[1], points[2], points[3])); default: throw new InvalidEnumArgumentException($"Not supported membership function type: {membershipFunctionType}."); } }
public void CreateMembershipFunctionEntity_ReturnsCorrectMembershipFunction() { // Arrange MembershipFunctionType membershipFunctionType = MembershipFunctionType.Trapezoidal; string membershipFunctionName = "High"; List <double> points = new List <double> { 1, 2, 3, 5 }; TrapezoidalMembershipFunction expectedMembershipFunction = new TrapezoidalMembershipFunction(membershipFunctionName, points[0], points[1], points[2], points[3]); // Act TrapezoidalMembershipFunction actualMembershipFunction = (TrapezoidalMembershipFunction) _membershipFunctionCreator.CreateMembershipFunctionEntity(membershipFunctionType, membershipFunctionName, points); // Assert Assert.IsNotNull(actualMembershipFunction); Assert.IsTrue(ObjectComparer.MembershipFunctionsAreEqual(expectedMembershipFunction, actualMembershipFunction)); }