public void CreationStep_InitialInfinities(double input) { var layers = new TermLayer <LinearMembershipFunction>(); layers.CreationStep(input, 0, 0); Assert.AreEqual(3, layers.Cores.Length); Assert.IsTrue(layers.Cores.Any(z => Math.Abs(z.X - input) < 1e-5)); }
public void CreationStep_CorrectlyOutsideTerm(double input) { var zero = TermCore.Create(0); var one = TermCore.Create(1); zero.AccumulatedError = 1; one.AccumulatedError = 1; var layers = new TermLayer <LinearMembershipFunction>(new[] { zero, one }); layers.CreationStep(input, 0, 0); Assert.AreEqual(5, layers.Cores.Length); Assert.IsTrue(layers.Cores.Any(z => Math.Abs(z.X - input) < 1e-5)); }
public void CreationStep_CorrectlyCreatedMidleTerm(double input) { var zero = TermCore.Create(0); var one = TermCore.Create(1); zero.AccumulatedError = 1; one.AccumulatedError = 1; var layers = new TermLayer <LinearMembershipFunction>(new[] { zero, one }); layers.CreationStep(input, 0, 0); Assert.AreEqual(5, layers.Cores.Length); Assert.AreEqual(input, layers.Cores[2].X); }