public void Add_Values() { A = new Subset(); Assert.DoesNotThrow(delegate{A.set_value(0.0, 0.0);}); Assert.DoesNotThrow(delegate{A.set_value(1.0, 1.0);}); Assert.Throws<ArgumentException>(delegate{A.set_value(3.0, 0.0);}); Assert.DoesNotThrow(delegate{A.set_value(0.5, 2.0);}); }
public void Return_Values() { A = new Subset(); A.set_value(0.0, 0.0); A.set_value(0.5, 1.0); A.set_value(1.0, 0.0); Assert.AreEqual(0.0, A.membership(0.0), "Incorrect membership value"); Assert.AreEqual(1.0, A.membership(0.5), "Incorrect membership value"); Assert.AreEqual(0.0, A.membership(1.0), "Incorrect membership value"); Assert.Throws<KeyNotFoundException>(delegate{A.membership(0.2);}); }
public static Subset operator + (Subset a, Subset b) { Subset res = new Subset(domain: new RationalRange( begin: Math.Min(a.Domain.begin, b.Domain.begin), end: Math.Max(a.Domain.end, b.Domain.end) )); foreach (double num in res.Domain) { double mem = a.Norm.conorm(a.membership(num), b.membership(num)); res.set_value(num, mem); } res.Norm = a.Norm; return res; }
public static Subset operator + (Subset a, double b) { Subset res = new Subset(new RationalRange( begin: a.Domain.begin, end: a.Domain.end )); foreach (double num in res.Domain) { res.set_value(num, a.membership(num)+b); } return res; }