Example #1
0
        public void Simple()
        {
            var ed = new ErrDescr(100, "sss", ErrQuality.Error, MomErrType.Calc);

            Assert.AreEqual(100, ed.Number);
            Assert.AreEqual("sss", ed.Text);
            Assert.AreEqual(ErrQuality.Error, ed.Quality);
            Assert.AreEqual(MomErrType.Calc, ed.ErrType);

            var cont = new ContextTest("SimpleContext");
            var em   = new MomErr(ed, cont);

            Assert.IsNotNull(em.AddressLink);
            Assert.IsNotNull(em.ErrDescr);
            Assert.AreEqual("SimpleContext", em.Address);
            Assert.AreEqual(100, em.Number);
            Assert.AreEqual(MomErrType.Calc, em.ErrType);
            Assert.AreEqual(ErrQuality.Error, em.Quality);
            Assert.AreEqual("sss", em.Text);

            var ef = new MomErrFactory("ErrSource", MomErrType.Source)
            {
                UndefinedErrorText = "Ошибка"
            };

            Assert.AreEqual(MomErrType.Source, ef.MomErrType);
            Assert.AreEqual(MomErrType.Source, ef.MomErrType);
            Assert.AreEqual("Ошибка", ef.UndefinedErrorText);
            ef.AddGoodDescr(0);
            ef.AddDescr(1, "Ошибка1", ErrQuality.Warning);
            ef.AddDescr(2, "Ошибка2");
            ef.AddDescr(3, "Ошибка3");

            Assert.IsNull(ef.GetDescr(0));
            Assert.IsNotNull(ef.GetDescr(1));
            var desc = ef.GetDescr(1);

            Assert.AreEqual(1, desc.Number);
            Assert.AreEqual("Ошибка1", desc.Text);
            Assert.AreEqual(ErrQuality.Warning, desc.Quality);
            Assert.AreEqual(MomErrType.Source, desc.ErrType);
            Assert.IsNotNull(ef.GetDescr(2));
            desc = ef.GetDescr(2);
            Assert.AreEqual(2, desc.Number);
            Assert.AreEqual("Ошибка2", desc.Text);
            Assert.AreEqual(ErrQuality.Error, desc.Quality);
            Assert.AreEqual(MomErrType.Source, desc.ErrType);
            Assert.IsNotNull(ef.GetDescr(3));
            desc = ef.GetDescr(3);
            Assert.AreEqual(3, desc.Number);
            Assert.AreEqual("Ошибка3", desc.Text);
            Assert.AreEqual(ErrQuality.Error, desc.Quality);
            Assert.AreEqual(MomErrType.Source, desc.ErrType);
            desc = ef.GetDescr(4);
            Assert.AreEqual(4, desc.Number);
            Assert.AreEqual("Ошибка", desc.Text);
            Assert.AreEqual(ErrQuality.Error, desc.Quality);
            Assert.AreEqual(MomErrType.Source, desc.ErrType);
        }
Example #2
0
        public void MomWeighted()
        {
            var c    = new ContextTest("Context");
            var pool = MakeErrPool();
            var err  = pool.MakeError(2, c);

            var d = new DateTime(2016, 06, 16, 11, 23, 00);
            var m = new WeightedMom(d, 2.1, 0.5);

            Assert.AreEqual(d, m.Time);
            Assert.IsNull(m.Error);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(0.5, m.Weight);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(2, m.Integer);
            Assert.AreEqual(2.1, m.Real);
            Assert.AreEqual("2,1", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Weighted, m.DataType);
            var v = m.Value;

            Assert.AreEqual(DataType.Weighted, v.DataType);
            var cv = m.CalcValue;

            Assert.AreEqual(DataType.Weighted, cv.DataType);
            Assert.IsNull(cv.TotalError);
            Assert.IsNotNull(m.LastMom);
            Assert.AreEqual(2.1, m.LastMom.Real);
            Assert.AreEqual(0.5, ((WeightedMom)m.LastMom).Weight);

            var d1 = new DateTime(2016, 06, 16, 11, 26, 00);
            var m1 = (WeightedMom)m.ToMom(d1, err);

            Assert.AreEqual(0.5, m1.Weight);
            Assert.AreEqual(d1, m1.Time);
            Assert.IsNotNull(m1.Error);
            Assert.IsNotNull(m1.TotalError);
            Assert.AreEqual(2, m1.Error.Number);
            Assert.AreEqual("Error", m1.Error.Text);
            Assert.AreEqual(MomErrType.Source, m1.Error.ErrType);
            Assert.AreEqual(true, m1.Boolean);
            Assert.AreEqual(2, m1.Integer);
            Assert.AreEqual(2.1, m1.Real);
            Assert.AreEqual("2,1", m1.String);
            Assert.AreEqual(1, m1.Count);
            Assert.AreEqual(DataType.Weighted, m1.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));
            Assert.IsFalse(m.ValueAndErrorEquals(m1));
            Assert.IsFalse(m.ValueLess(m1));
            Assert.IsFalse(m1.ValueLess(m));
        }
Example #3
0
        public void Pool()
        {
            var ef = new MomErrFactory("ErrSource", MomErrType.Source);

            ef.AddGoodDescr(0);
            ef.AddDescr(1, "Ошибка1", ErrQuality.Warning);
            ef.AddDescr(2, "Ошибка2");
            ef.AddDescr(3, "Ошибка3");

            var c1   = new ContextTest("Context1");
            var c2   = new ContextTest("Context2");
            var pool = new MomErrPool(ef);

            Assert.AreEqual(0, pool.UsedErrorDescrs.Count());
            var em = pool.MakeError(1, c1);

            Assert.AreEqual("Context1", em.Address);
            Assert.AreEqual(1, em.Number);
            Assert.AreEqual(ErrQuality.Warning, em.Quality);
            Assert.AreEqual("Ошибка1", em.Text);
            em = pool.MakeError(1, c2);
            Assert.AreEqual("Context2", em.Address);
            Assert.AreEqual(1, em.Number);
            Assert.AreEqual(ErrQuality.Warning, em.Quality);
            Assert.AreEqual("Ошибка1", em.Text);
            em = pool.MakeError(1, c1);
            Assert.AreEqual("Context1", em.Address);
            Assert.AreEqual(1, em.Number);
            Assert.AreEqual(ErrQuality.Warning, em.Quality);
            Assert.AreEqual("Ошибка1", em.Text);
            Assert.IsNull(pool.MakeError(0, c2));
            em = pool.MakeError(2, c1);
            Assert.AreEqual("Context1", em.Address);
            Assert.AreEqual(2, em.Number);
            Assert.AreEqual(ErrQuality.Error, em.Quality);
            Assert.AreEqual("Ошибка2", em.Text);
            Assert.AreEqual(2, pool.UsedErrorDescrs.Count());
            pool.ClearErrors();
            em = pool.MakeError(2, c1);
            Assert.AreEqual("Context1", em.Address);
            Assert.AreEqual(2, em.Number);
            Assert.AreEqual(ErrQuality.Error, em.Quality);
            Assert.AreEqual("Ошибка2", em.Text);
            em = pool.MakeError(3, c2);
            Assert.AreEqual("Context2", em.Address);
            Assert.AreEqual(3, em.Number);
            Assert.AreEqual(ErrQuality.Error, em.Quality);
            Assert.AreEqual("Ошибка3", em.Text);
            Assert.AreEqual(2, pool.UsedErrorDescrs.Count());
        }
Example #4
0
        public void MomListTime()
        {
            var pool = MakeErrPool();
            var c    = new ContextTest("Context");

            var list = MFactory.NewList(DataType.Time);

            Assert.AreEqual(0, list.Count);
            Assert.AreEqual(DataType.Time, list.DataType);

            var err1 = pool.MakeError(1, c);
            var err2 = pool.MakeError(2, c);

            list.AddMom(RTime(0), RTime(0));
            list.AddMom(RTime(0, 10), RTime(1), err1);
            list.AddMom(RTime(0, 20), RTime(2), err2);
            Assert.AreEqual(3, list.Count);
            Assert.AreEqual(RTime(0), list.TimeI(0));
            Assert.AreEqual(RTime(0, 10), list.TimeI(1));
            Assert.AreEqual(RTime(0, 20), list.TimeI(2));
            Assert.AreEqual(RTime(0), list.DateI(0));
            Assert.AreEqual(RTime(1), list.DateI(1));
            Assert.AreEqual(RTime(2), list.DateI(2));
            Assert.IsNull(list.ErrorI(0));
            Assert.IsNotNull(list.ErrorI(1));
            Assert.AreEqual(1, list.ErrorI(1).Number);
            Assert.AreEqual("Warning", list.ErrorI(1).Text);
            Assert.IsNotNull(list.ErrorI(2));
            Assert.AreEqual(2, list.ErrorI(2).Number);
            Assert.AreEqual("Error", list.ErrorI(2).Text);

            list.CurNum = 1;
            Assert.AreEqual(RTime(1), list.Date);
            Assert.AreEqual(1, list.Error.Number);
            Assert.AreEqual(RTime(0, 10), list.Time);

            var m = list.ToMom(RTime(1), err2);

            Assert.AreEqual(RTime(1), m.Date);
            Assert.AreEqual(1, m.Error.Number);
            Assert.AreEqual(RTime(1), m.Time);

            var me = new EditMom(DataType.Time);

            me.Time = RTime(0, 5);
            me.Date = RTime(0, 30);
            list.AddMom(me);
            me.Time = RTime(0, 15);
            me.Date = RTime(1, 30);
            list.AddMom(me, err1);
            me.Time = RTime(0, 25);
            me.Date = RTime(2, 30);
            list.AddMom(me, err2);
            Assert.AreEqual(6, list.Count);
            Assert.AreEqual(RTime(0), list.TimeI(0));
            Assert.AreEqual(RTime(0, 5), list.TimeI(1));
            Assert.AreEqual(RTime(0, 10), list.TimeI(2));
            Assert.AreEqual(RTime(0, 15), list.TimeI(3));
            Assert.AreEqual(RTime(0, 20), list.TimeI(4));
            Assert.AreEqual(RTime(0, 25), list.TimeI(5));
            Assert.AreEqual(RTime(0), list.DateI(0));
            Assert.AreEqual(RTime(0, 30), list.DateI(1));
            Assert.AreEqual(RTime(1), list.DateI(2));
            Assert.AreEqual(RTime(1, 30), list.DateI(3));
            Assert.AreEqual(RTime(2), list.DateI(4));
            Assert.AreEqual(RTime(2, 30), list.DateI(5));
            Assert.IsNull(list.ErrorI(0));
            Assert.IsNull(list.ErrorI(1));
            Assert.AreEqual(1, list.ErrorI(2).Number);
            Assert.AreEqual(1, list.ErrorI(3).Number);
            Assert.AreEqual(2, list.ErrorI(4).Number);
            Assert.AreEqual(2, list.ErrorI(5).Number);
        }
Example #5
0
        public void MomListString()
        {
            var pool = MakeErrPool();
            var c    = new ContextTest("Context");

            var list = MFactory.NewList(DataType.String);

            Assert.AreEqual(0, list.Count);
            Assert.AreEqual(DataType.String, list.DataType);

            var err1 = pool.MakeError(1, c);
            var err2 = pool.MakeError(2, c);

            list.AddMom(RTime(0), "s0");
            list.AddMom(RTime(0, 10), "s1", err1);
            list.AddMom(RTime(0, 20), "s2", err2);
            Assert.AreEqual(3, list.Count);
            Assert.AreEqual(RTime(0), list.TimeI(0));
            Assert.AreEqual(RTime(0, 10), list.TimeI(1));
            Assert.AreEqual(RTime(0, 20), list.TimeI(2));
            Assert.AreEqual("s0", list.StringI(0));
            Assert.AreEqual("s1", list.StringI(1));
            Assert.AreEqual("s2", list.StringI(2));
            Assert.IsNull(list.ErrorI(0));
            Assert.AreEqual(1, list.ErrorI(1).Number);
            Assert.AreEqual("Error", list.ErrorI(2).Text);

            list.CurNum = 1;
            Assert.AreEqual("s1", list.String);
            Assert.AreEqual(1, list.Error.Number);
            Assert.AreEqual(RTime(0, 10), list.Time);

            var m = list.ToMom(RTime(1), err2);

            Assert.AreEqual("s1", m.String);
            Assert.AreEqual(1, m.Error.Number);
            Assert.AreEqual(RTime(1), m.Time);

            var me = new EditMom(DataType.Real);

            me.Time = RTime(0, 5);
            me.Real = 2;
            list.AddMom(me);
            me.Time = RTime(0, 15);
            me.Real = 2.1;
            list.AddMom(me, err1);
            me.Time = RTime(0, 25);
            me.Real = 2.2;
            list.AddMom(me, err2);
            Assert.AreEqual(6, list.Count);
            Assert.AreEqual(RTime(0), list.TimeI(0));
            Assert.AreEqual(RTime(0, 5), list.TimeI(1));
            Assert.AreEqual(RTime(0, 10), list.TimeI(2));
            Assert.AreEqual(RTime(0, 15), list.TimeI(3));
            Assert.AreEqual(RTime(0, 20), list.TimeI(4));
            Assert.AreEqual(RTime(0, 25), list.TimeI(5));
            Assert.AreEqual("s0", list.StringI(0));
            Assert.AreEqual("2", list.StringI(1));
            Assert.AreEqual("s1", list.StringI(2));
            Assert.AreEqual("2,1", list.StringI(3));
            Assert.AreEqual("s2", list.StringI(4));
            Assert.AreEqual("2,2", list.StringI(5));
            Assert.IsNull(list.ErrorI(0));
            Assert.IsNull(list.ErrorI(1));
            Assert.AreEqual(1, list.ErrorI(2).Number);
            Assert.AreEqual(1, list.ErrorI(3).Number);
            Assert.AreEqual(2, list.ErrorI(4).Number);
            Assert.AreEqual(2, list.ErrorI(5).Number);
        }
Example #6
0
        public void MomListBool()
        {
            var pool = MakeErrPool();
            var c    = new ContextTest("Context");

            var list = new BoolMomList();

            Assert.AreEqual(0, list.Count);
            Assert.AreEqual(DataType.Boolean, list.DataType);
            Assert.AreEqual(0, list.CurNum);
            Assert.AreEqual(Static.MaxDate, list.NextTime);

            var err = pool.MakeError(2, c);

            list.AddMom(RTime(0), false);
            list.AddMom(RTime(1), false, err);
            list.AddMom(RTime(2), true, err);
            list.AddMom(RTime(3), true);
            Assert.AreEqual(4, list.Count);
            Assert.AreEqual(DataType.Boolean, list.DataType);
            list.CurNum = 0;
            Assert.AreEqual(0, list.CurNum);
            Assert.AreEqual(RTime(1), list.NextTime);
            Assert.AreEqual(false, list.Boolean);
            Assert.AreEqual(0, list.Integer);
            Assert.IsNull(list.Error);
            Assert.AreEqual(RTime(0), list.Time);
            list.CurNum = 1;
            Assert.AreEqual(1, list.CurNum);
            Assert.AreEqual(RTime(2), list.NextTime);
            Assert.AreEqual(false, list.Boolean);
            Assert.AreEqual(0, list.Real);
            Assert.IsNotNull(list.Error);
            Assert.AreEqual(2, list.Error.Number);
            Assert.AreEqual("Error", list.Error.Text);
            Assert.AreEqual(RTime(1), list.Time);
            list.CurNum = 3;
            Assert.AreEqual(3, list.CurNum);
            Assert.AreEqual(Static.MaxDate, list.NextTime);
            Assert.AreEqual(true, list.Boolean);
            Assert.AreEqual("1", list.String);
            Assert.IsNull(list.Error);
            Assert.AreEqual(RTime(3), list.Time);
            list.CurNum = 4;
            Assert.AreEqual(4, list.CurNum);
            Assert.AreEqual(Static.MaxDate, list.NextTime);
            list.CurNum = 2;
            Assert.AreEqual(2, list.CurNum);
            Assert.AreEqual(RTime(3), list.NextTime);
            Assert.AreEqual(true, list.Boolean);
            Assert.AreEqual(1, list.Integer);
            Assert.IsNotNull(list.Error);
            Assert.AreEqual(2, list.Error.Number);
            Assert.AreEqual("Error", list.Error.Text);
            Assert.AreEqual(RTime(2), list.Time);

            Assert.AreEqual(RTime(0), list.TimeI(0));
            Assert.AreEqual(RTime(1), list.TimeI(1));
            Assert.AreEqual(RTime(2), list.TimeI(2));
            Assert.AreEqual(RTime(3), list.TimeI(3));
            Assert.AreEqual(false, list.BooleanI(0));
            Assert.AreEqual(false, list.BooleanI(1));
            Assert.AreEqual(true, list.BooleanI(2));
            Assert.AreEqual(true, list.BooleanI(3));
            Assert.AreEqual(0, list.IntegerI(0));
            Assert.AreEqual(0, list.IntegerI(1));
            Assert.AreEqual(1, list.IntegerI(2));
            Assert.AreEqual(1, list.IntegerI(3));
            Assert.IsNull(list.ErrorI(0));
            Assert.IsNotNull(list.ErrorI(1));
            Assert.IsNotNull(list.ErrorI(2));
            Assert.IsNull(list.ErrorI(3));
            Assert.AreEqual(2, list.ErrorI(1).Number);
            Assert.AreEqual("Error", list.ErrorI(1).Text);
            Assert.AreEqual(ErrQuality.Error, list.ErrorI(1).Quality);
            Assert.AreEqual(2, list.ErrorI(2).Number);
            Assert.AreEqual("Error", list.ErrorI(2).Text);
            Assert.AreEqual(ErrQuality.Error, list.ErrorI(2).Quality);

            list.AddMom(RTime(2, 30), true);
            list.AddMom(RTime(1, 30), false);
            list.AddMom(RTime(0, 30), false);
            Assert.AreEqual(7, list.Count);
            Assert.AreEqual(RTime(0), list.TimeI(0));
            Assert.AreEqual(RTime(0, 30), list.TimeI(1));
            Assert.AreEqual(RTime(1), list.TimeI(2));
            Assert.AreEqual(RTime(1, 30), list.TimeI(3));
            Assert.AreEqual(RTime(2), list.TimeI(4));
            Assert.AreEqual(RTime(2, 30), list.TimeI(5));
            Assert.AreEqual(RTime(3), list.TimeI(6));
            Assert.AreEqual(false, list.BooleanI(0));
            Assert.AreEqual(false, list.BooleanI(1));
            Assert.AreEqual(false, list.BooleanI(2));
            Assert.AreEqual(false, list.BooleanI(3));
            Assert.AreEqual(true, list.BooleanI(4));
            Assert.AreEqual(true, list.BooleanI(5));
            Assert.AreEqual(true, list.BooleanI(6));
            Assert.IsNull(list.ErrorI(0));
            Assert.IsNull(list.ErrorI(1));
            Assert.IsNotNull(list.ErrorI(2));
            Assert.IsNull(list.ErrorI(3));
            Assert.IsNotNull(list.ErrorI(4));
            Assert.IsNull(list.ErrorI(5));
            Assert.IsNull(list.ErrorI(6));

            Assert.IsNotNull(list.TotalError);
            Assert.AreEqual(2, list.TotalError.Number);
            Assert.AreEqual("Error", list.TotalError.Text);
            Assert.AreEqual(ErrQuality.Error, list.TotalError.Quality);
            var m = list.LastMom;

            Assert.AreEqual(RTime(3), m.Time);
            Assert.AreEqual(true, m.Boolean);
            Assert.IsNull(m.Error);

            m = list.ToMeanI(0);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(Static.MinDate, m.Time);
            Assert.IsNull(m.Error);
            m = list.ToMomI(2);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(RTime(1), m.Time);
            Assert.IsNotNull(m.Error);
            Assert.AreEqual(2, m.Error.Number);
            m = list.ToMomI(3, err);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(RTime(1, 30), m.Time);
            Assert.IsNotNull(m.Error);
            Assert.AreEqual(2, m.Error.Number);
            m = list.ToMomI(5, RTime(5));
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(RTime(5), m.Time);
            Assert.IsNull(m.Error);
            m = list.ToMomI(6, RTime(6), err);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(RTime(6), m.Time);
            Assert.IsNotNull(m.Error);
            Assert.AreEqual(2, m.Error.Number);

            list.CurNum = 3;
            Assert.AreEqual(RTime(2), list.NextTime);
            Assert.AreEqual(RTime(1, 30), list.Time);
            Assert.AreEqual(false, list.Boolean);
            Assert.AreEqual(0, list.Integer);
            Assert.IsNull(list.Error);
            m = list.ToMean();
            Assert.AreEqual(Static.MinDate, m.Time);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.IsNull(m.Error);
            m = list.ToMom();
            Assert.AreEqual(RTime(1, 30), m.Time);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.IsNull(m.Error);
            m = list.ToMom(err);
            Assert.AreEqual(RTime(1, 30), m.Time);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.IsNotNull(m.Error);
            Assert.AreEqual(2, m.Error.Number);
            m = list.ToMom(RTime(4, 30));
            Assert.AreEqual(RTime(4, 30), m.Time);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.IsNull(m.Error);
            m = list.ToMom(RTime(4, 30), err);
            Assert.AreEqual(RTime(4, 30), m.Time);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.IsNotNull(m.Error);
            Assert.AreEqual(2, m.Error.Number);

            list.Clear();
            Assert.AreEqual(0, list.Count);
            Assert.IsNull(list.LastMom);
            Assert.IsNull(list.TotalError);
        }
Example #7
0
        public void MomListInt()
        {
            var pool = MakeErrPool();
            var c    = new ContextTest("Context");

            var list = new IntMomList();

            Assert.AreEqual(0, list.Count);
            Assert.AreEqual(DataType.Integer, list.DataType);
            Assert.AreEqual(0, list.CurNum);
            Assert.AreEqual(Static.MaxDate, list.NextTime);

            var err1 = pool.MakeError(1, c);
            var err2 = pool.MakeError(2, c);

            list.AddMom(RTime(0), 10);
            list.AddMom(RTime(0, 10), 11, err1);
            list.AddMom(RTime(0, 20), 12, err2);
            Assert.AreEqual(3, list.Count);
            Assert.AreEqual(RTime(0), list.TimeI(0));
            Assert.AreEqual(RTime(0, 10), list.TimeI(1));
            Assert.AreEqual(RTime(0, 20), list.TimeI(2));
            Assert.AreEqual(10, list.IntegerI(0));
            Assert.AreEqual(11, list.IntegerI(1));
            Assert.AreEqual(12, list.IntegerI(2));
            Assert.AreEqual(10.0, list.RealI(0));
            Assert.AreEqual("11", list.StringI(1));
            Assert.AreEqual(true, list.BooleanI(2));
            Assert.IsNull(list.ErrorI(0));
            Assert.IsNotNull(list.ErrorI(1));
            Assert.AreEqual(1, list.ErrorI(1).Number);
            Assert.AreEqual("Warning", list.ErrorI(1).Text);
            Assert.IsNotNull(list.ErrorI(2));
            Assert.AreEqual(2, list.ErrorI(2).Number);
            Assert.AreEqual("Error", list.ErrorI(2).Text);

            list.CurNum = 1;
            Assert.AreEqual(11, list.Integer);
            Assert.AreEqual(11.0, list.Real);
            Assert.AreEqual(1, list.Error.Number);
            Assert.AreEqual(RTime(0, 10), list.Time);

            var m = list.ToMom(RTime(1), err2);

            Assert.AreEqual(11, m.Integer);
            Assert.AreEqual(11.0, m.Real);
            Assert.AreEqual(1, m.Error.Number);
            Assert.AreEqual(RTime(1), m.Time);

            var me = new EditMom(DataType.Integer);

            me.Time    = RTime(0, 5);
            me.Integer = 20;
            list.AddMom(me);
            me.Time    = RTime(0, 15);
            me.Integer = 21;
            list.AddMom(me, err1);
            me.Time    = RTime(0, 25);
            me.Integer = 22;
            list.AddMom(me, err2);
            Assert.AreEqual(6, list.Count);
            Assert.AreEqual(RTime(0), list.TimeI(0));
            Assert.AreEqual(RTime(0, 5), list.TimeI(1));
            Assert.AreEqual(RTime(0, 10), list.TimeI(2));
            Assert.AreEqual(RTime(0, 15), list.TimeI(3));
            Assert.AreEqual(RTime(0, 20), list.TimeI(4));
            Assert.AreEqual(RTime(0, 25), list.TimeI(5));
            Assert.AreEqual(10, list.IntegerI(0));
            Assert.AreEqual(20, list.IntegerI(1));
            Assert.AreEqual(11, list.IntegerI(2));
            Assert.AreEqual(21, list.IntegerI(3));
            Assert.AreEqual(12, list.IntegerI(4));
            Assert.AreEqual(22, list.IntegerI(5));
            Assert.IsNull(list.ErrorI(0));
            Assert.IsNull(list.ErrorI(1));
            Assert.AreEqual(1, list.ErrorI(2).Number);
            Assert.AreEqual(1, list.ErrorI(3).Number);
            Assert.AreEqual(2, list.ErrorI(4).Number);
            Assert.AreEqual(2, list.ErrorI(5).Number);
        }
Example #8
0
        public void MomString()
        {
            var c    = new ContextTest("Context");
            var pool = MakeErrPool();
            var err  = pool.MakeError(2, c);

            var d = new DateTime(2016, 06, 16, 11, 23, 00);
            var m = MFactory.NewMom(d, "sss");

            Assert.AreEqual(d, m.Time);
            Assert.IsNull(m.Error);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.AreEqual(0.0, m.Real);
            Assert.AreEqual("sss", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.String, m.DataType);
            var v = m.Value;

            Assert.AreEqual(DataType.String, v.DataType);
            var cv = m.CalcValue;

            Assert.AreEqual(DataType.String, cv.DataType);
            Assert.IsNull(cv.TotalError);
            Assert.IsNotNull(m.LastMom);
            Assert.AreEqual("sss", m.LastMom.String);
            Assert.AreEqual(d, m.TimeI(0));
            Assert.IsNull(m.ErrorI(0));
            Assert.AreEqual(true, m.BooleanI(0));
            Assert.AreEqual(0, m.IntegerI(0));
            Assert.AreEqual(0.0, m.RealI(0));
            Assert.AreEqual("sss", m.StringI(0));

            var d1 = new DateTime(2016, 06, 16, 11, 26, 00);
            var m1 = m.ToMom(d1, err);

            Assert.AreEqual(d1, m1.Time);
            Assert.IsNotNull(m1.Error);
            Assert.IsNotNull(m1.TotalError);
            Assert.AreEqual(2, m1.Error.Number);
            Assert.AreEqual("Error", m1.Error.Text);
            Assert.AreEqual(MomErrType.Source, m1.Error.ErrType);
            Assert.AreEqual(true, m1.Boolean);
            Assert.AreEqual(0, m1.Integer);
            Assert.AreEqual(0, m1.Real);
            Assert.AreEqual("sss", m1.String);
            Assert.AreEqual(1, m1.Count);
            Assert.AreEqual(DataType.String, m1.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));
            Assert.IsFalse(m.ValueAndErrorEquals(m1));

            var m2 = m.ToMomI(0, d1, err);

            Assert.AreEqual(d1, m2.Time);
            Assert.IsNotNull(m2.Error);
            Assert.IsNotNull(m2.TotalError);
            Assert.AreEqual(2, m2.Error.Number);
            Assert.AreEqual("Error", m2.Error.Text);
            Assert.AreEqual(MomErrType.Source, m2.Error.ErrType);
            Assert.AreEqual(true, m2.Boolean);
            Assert.AreEqual(0, m2.Integer);
            Assert.AreEqual(0, m2.Real);
            Assert.AreEqual("sss", m2.String);
            Assert.AreEqual(1, m2.Count);
            Assert.AreEqual(DataType.String, m2.DataType);
            Assert.IsTrue(m2.ValueEquals(m));
            Assert.IsFalse(m2.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m2));
            Assert.IsFalse(m.ValueAndErrorEquals(m2));

            m = MFactory.NewMom(d1, "45.67", err);
            Assert.IsNotNull(m.Error);
            Assert.IsNotNull(m.TotalError);
            Assert.AreEqual(2, m.Error.Number);
            Assert.AreEqual("Error", m.Error.Text);
            Assert.AreEqual(MomErrType.Source, m.Error.ErrType);
            Assert.AreEqual(2, m.TotalError.Number);
            Assert.AreEqual("Error", m.TotalError.Text);
            Assert.AreEqual(MomErrType.Source, m.TotalError.ErrType);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.AreEqual(45.67, m.Real);
            Assert.AreEqual("45.67", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.String, m.DataType);
            Assert.IsFalse(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsFalse(m.ValueEquals(m1));
            Assert.IsFalse(m.ValueAndErrorEquals(m1));

            var err1 = pool.MakeError(1, c);

            m = MFactory.NewMom(DataType.String, d, false, err1);
            Assert.AreEqual(d1, m1.Time);
            Assert.IsNotNull(m.Error);
            Assert.IsNotNull(m.TotalError);
            Assert.AreEqual(1, m.Error.Number);
            Assert.AreEqual("Warning", m.Error.Text);
            Assert.AreEqual(MomErrType.Source, m.Error.ErrType);
            Assert.AreEqual(1, m.TotalError.Number);
            Assert.AreEqual("Warning", m.TotalError.Text);
            Assert.AreEqual(MomErrType.Source, m.TotalError.ErrType);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.AreEqual(0.0, m.Real);
            Assert.AreEqual("0", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.String, m.DataType);
            Assert.IsFalse(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsFalse(m.ValueEquals(m1));
            Assert.IsFalse(m.ValueAndErrorEquals(m1));
        }
Example #9
0
        public void MomBool()
        {
            var c    = new ContextTest("Context");
            var pool = MakeErrPool();
            var err  = pool.MakeError(2, c);

            var d = new DateTime(2016, 06, 16, 11, 23, 00);
            var m = MFactory.NewMom(d, true);

            Assert.AreEqual(d, m.Time);
            Assert.IsNull(m.Error);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(1, m.Integer);
            Assert.AreEqual(1.0, m.Real);
            Assert.AreEqual("1", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Boolean, m.DataType);
            var v = m.Value;

            Assert.AreEqual(DataType.Boolean, v.DataType);
            var cv = m.CalcValue;

            Assert.AreEqual(DataType.Boolean, cv.DataType);
            Assert.IsNull(cv.TotalError);
            Assert.IsNotNull(m.LastMom);
            Assert.AreEqual(true, m.LastMom.Boolean);
            Assert.AreEqual(d, m.TimeI(0));
            Assert.IsNull(m.ErrorI(0));
            Assert.AreEqual(true, m.BooleanI(0));
            Assert.AreEqual(1, m.IntegerI(0));
            Assert.AreEqual(1.0, m.RealI(0));
            Assert.AreEqual("1", m.StringI(0));

            var mn = m.ToMean();

            Assert.AreEqual(Static.MinDate, mn.Time);
            Assert.IsNull(mn.Error);
            Assert.IsNull(mn.TotalError);
            Assert.AreEqual(true, mn.Boolean);
            Assert.AreEqual(1, mn.Integer);
            Assert.AreEqual(1.0, mn.Real);
            Assert.AreEqual("1", mn.String);
            Assert.AreEqual(1, mn.Count);
            Assert.AreEqual(DataType.Boolean, mn.DataType);
            v = mn.Value;
            Assert.AreEqual(DataType.Boolean, v.DataType);
            cv = mn.CalcValue;
            Assert.AreEqual(DataType.Boolean, cv.DataType);
            Assert.IsNull(cv.TotalError);
            Assert.IsNotNull(mn.LastMom);
            Assert.AreEqual(true, mn.LastMom.Boolean);
            Assert.AreEqual(Static.MinDate, mn.TimeI(0));
            Assert.IsNull(mn.ErrorI(0));
            Assert.AreEqual(true, mn.BooleanI(0));
            Assert.AreEqual(1, mn.IntegerI(0));
            Assert.AreEqual(1.0, mn.RealI(0));
            Assert.AreEqual("1", mn.StringI(0));

            var d1 = new DateTime(2016, 06, 16, 11, 26, 00);
            var m1 = m.ToMom(d1, err);

            Assert.AreEqual(d1, m1.Time);
            Assert.IsNotNull(m1.Error);
            Assert.IsNotNull(m1.TotalError);
            Assert.AreEqual(2, m1.Error.Number);
            Assert.AreEqual("Error", m1.Error.Text);
            Assert.AreEqual(MomErrType.Source, m1.Error.ErrType);
            Assert.AreEqual(true, m1.Boolean);
            Assert.AreEqual(1, m1.Integer);
            Assert.AreEqual(1.0, m1.Real);
            Assert.AreEqual("1", m1.String);
            Assert.AreEqual(1, m1.Count);
            Assert.AreEqual(DataType.Boolean, m1.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));
            Assert.IsFalse(m.ValueAndErrorEquals(m1));

            m = MFactory.NewMom(d1, true, err);
            Assert.IsNotNull(m.Error);
            Assert.IsNotNull(m.TotalError);
            Assert.AreEqual(2, m.Error.Number);
            Assert.AreEqual("Error", m.Error.Text);
            Assert.AreEqual(MomErrType.Source, m.Error.ErrType);
            Assert.AreEqual(2, m.TotalError.Number);
            Assert.AreEqual("Error", m.TotalError.Text);
            Assert.AreEqual(MomErrType.Source, m.TotalError.ErrType);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(1, m.Integer);
            Assert.AreEqual(1.0, m.Real);
            Assert.AreEqual("1", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Boolean, m.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsTrue(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));
            Assert.IsTrue(m.ValueAndErrorEquals(m1));

            var err1 = pool.MakeError(1, c);

            m = MFactory.NewMom(DataType.Boolean, d, 1, err1);
            Assert.AreEqual(d1, m1.Time);
            Assert.IsNotNull(m.Error);
            Assert.IsNotNull(m.TotalError);
            Assert.AreEqual(1, m.Error.Number);
            Assert.AreEqual("Warning", m.Error.Text);
            Assert.AreEqual(MomErrType.Source, m.Error.ErrType);
            Assert.AreEqual(1, m.TotalError.Number);
            Assert.AreEqual("Warning", m.TotalError.Text);
            Assert.AreEqual(MomErrType.Source, m.TotalError.ErrType);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(1, m.Integer);
            Assert.AreEqual(1.0, m.Real);
            Assert.AreEqual("1", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Boolean, m.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));
            Assert.IsFalse(m.ValueAndErrorEquals(m1));
        }
Example #10
0
        public void MomReal()
        {
            var c    = new ContextTest("Context");
            var pool = MakeErrPool();
            var err  = pool.MakeError(2, c);

            var d = new DateTime(2016, 06, 16, 11, 23, 00);
            var m = MFactory.NewMom(d, 2.1);

            Assert.AreEqual(d, m.Time);
            Assert.IsNull(m.Error);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(2, m.Integer);
            Assert.AreEqual(2.1, m.Real);
            Assert.AreEqual("2,1", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Real, m.DataType);
            var v = m.Value;

            Assert.AreEqual(DataType.Real, v.DataType);
            var cv = m.CalcValue;

            Assert.AreEqual(DataType.Real, cv.DataType);
            Assert.IsNull(cv.TotalError);
            Assert.IsNotNull(m.LastMom);
            Assert.AreEqual(2.1, m.LastMom.Real);
            Assert.AreEqual(d, m.TimeI(0));
            Assert.IsNull(m.ErrorI(0));
            Assert.AreEqual(true, m.BooleanI(0));
            Assert.AreEqual(2, m.IntegerI(0));
            Assert.AreEqual(2.1, m.RealI(0));
            Assert.AreEqual("2,1", m.StringI(0));

            var d1 = new DateTime(2016, 06, 16, 11, 26, 00);
            var m1 = m.ToMom(d1);

            Assert.AreEqual(d1, m1.Time);
            Assert.IsNull(m1.Error);
            Assert.IsNull(m1.TotalError);
            Assert.AreEqual(true, m1.Boolean);
            Assert.AreEqual(2, m1.Integer);
            Assert.AreEqual(2.1, m1.Real);
            Assert.AreEqual("2,1", m1.String);
            Assert.AreEqual(1, m1.Count);
            Assert.AreEqual(DataType.Real, m1.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsTrue(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));
            Assert.IsTrue(m.ValueAndErrorEquals(m1));
            Assert.IsFalse(m.ValueLess(m1));
            Assert.IsFalse(m1.ValueLess(m));

            var m2 = m1.ToMom();

            Assert.AreEqual(d1, m1.Time);
            Assert.IsNull(m2.Error);
            Assert.IsNull(m2.TotalError);
            Assert.AreEqual(true, m2.Boolean);
            Assert.AreEqual(2, m2.Integer);
            Assert.AreEqual(2.1, m2.Real);
            Assert.AreEqual("2,1", m2.String);
            Assert.AreEqual(1, m2.Count);
            Assert.AreEqual(DataType.Real, m2.DataType);

            m = MFactory.NewMom(d1, -1.3e24, err);
            Assert.IsNotNull(m.Error);
            Assert.IsNotNull(m.TotalError);
            Assert.AreEqual(2, m.Error.Number);
            Assert.AreEqual("Error", m.Error.Text);
            Assert.AreEqual(MomErrType.Source, m.Error.ErrType);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.AreEqual(-1.3e24, m.Real);
            Assert.AreEqual("-1,3E+24", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Real, m.DataType);
            Assert.IsFalse(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsFalse(m.ValueEquals(m1));
            Assert.IsFalse(m.ValueAndErrorEquals(m1));
            Assert.IsTrue(m.ValueLess(m1));
            Assert.IsFalse(m1.ValueLess(m));

            var err1 = pool.MakeError(1, c);

            m = MFactory.NewMom(DataType.Real, d, "5", err1);
            Assert.AreEqual(d1, m1.Time);
            Assert.IsNotNull(m.Error);
            Assert.IsNotNull(m.TotalError);
            Assert.AreEqual(1, m.Error.Number);
            Assert.AreEqual("Warning", m.Error.Text);
            Assert.AreEqual(MomErrType.Source, m.Error.ErrType);
            Assert.AreEqual(1, m.TotalError.Number);
            Assert.AreEqual("Warning", m.TotalError.Text);
            Assert.AreEqual(MomErrType.Source, m.TotalError.ErrType);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(5, m.Integer);
            Assert.AreEqual(5, m.Real);
            Assert.AreEqual("5", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Real, m.DataType);
            Assert.IsFalse(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsFalse(m.ValueEquals(m1));
            Assert.IsFalse(m.ValueAndErrorEquals(m1));
        }
Example #11
0
        public void MeanInt()
        {
            var c    = new ContextTest("Context");
            var pool = MakeErrPool();
            var err  = pool.MakeError(2, c);

            var m = MFactory.NewMean(24);

            Assert.IsNull(m.Error);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(24, m.Integer);
            Assert.AreEqual(24.0, m.Real);
            Assert.AreEqual("24", m.String);
            Assert.AreEqual(Static.MinDate, m.Date);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Integer, m.DataType);
            var v = m.Value;

            Assert.AreEqual(DataType.Integer, v.DataType);
            var cv = m.CalcValue;

            Assert.AreEqual(DataType.Integer, cv.DataType);
            Assert.IsNull(cv.TotalError);
            Assert.IsNull(m.ErrorI(0));
            Assert.AreEqual(true, m.BooleanI(0));
            Assert.AreEqual(24, m.IntegerI(0));
            Assert.AreEqual(24.0, m.RealI(0));
            Assert.AreEqual("24", m.StringI(0));
            Assert.AreEqual(Static.MinDate, m.TimeI(0));

            var e  = pool.MakeError(4, c);
            var me = m.ToMeanI(0);

            Assert.AreEqual(true, me.Boolean);
            Assert.AreEqual(24, me.Integer);
            Assert.AreEqual(24.0, me.Real);
            Assert.AreEqual("24", me.String);
            Assert.AreEqual(Static.MinDate, me.Date);
            Assert.AreEqual(1, me.Count);
            Assert.AreEqual(DataType.Integer, me.DataType);


            var m1 = m.ToMom(Static.MaxDate, e);

            Assert.AreEqual(Static.MaxDate, m1.Time);
            Assert.IsNotNull(m1.Error);
            Assert.IsNotNull(m1.TotalError);
            Assert.AreEqual(4, m1.Error.Number);
            Assert.AreEqual("Неопределенная ошибка", m1.Error.Text);
            Assert.AreEqual(4, m1.TotalError.Number);
            Assert.AreEqual("Неопределенная ошибка", m1.TotalError.Text);
            Assert.AreEqual(4, m1.ErrorI(0).Number);
            Assert.AreEqual("Неопределенная ошибка", m1.ErrorI(0).Text);
            Assert.AreEqual(true, m1.Boolean);
            Assert.AreEqual(24, m1.Integer);
            Assert.AreEqual(24.0, m1.Real);
            Assert.AreEqual("24", m1.String);
            Assert.AreEqual(1, m1.Count);
            Assert.AreEqual(DataType.Integer, m1.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(me.ValueEquals(m1));
        }
Example #12
0
        public void MeanTime()
        {
            var c    = new ContextTest("Context");
            var pool = MakeErrPool();
            var err  = pool.MakeError(2, c);

            var m = MFactory.NewMean(Static.MaxDate);

            Assert.IsNull(m.Error);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(false, m.Boolean);
            Assert.AreEqual(0, m.Integer);
            Assert.AreEqual(0.0, m.Real);
            Assert.AreEqual(Static.MaxDate, m.Date);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Time, m.DataType);
            var v = m.Value;

            Assert.AreEqual(DataType.Time, v.DataType);
            var cv = m.CalcValue;

            Assert.AreEqual(DataType.Time, cv.DataType);
            Assert.IsNull(m.ErrorI(0));
            Assert.AreEqual(false, m.BooleanI(0));
            Assert.AreEqual(0, m.IntegerI(0));
            Assert.AreEqual(0.0, m.RealI(0));
            Assert.AreEqual(Static.MaxDate, m.DateI(0));

            var mo = m.ToMom(err);

            Assert.AreEqual(Static.MinDate, mo.Time);
            Assert.IsNotNull(mo.Error);
            Assert.IsNotNull(mo.TotalError);
            Assert.AreEqual(2, mo.Error.Number);
            Assert.AreEqual("Error", mo.Error.Text);
            Assert.AreEqual(MomErrType.Source, mo.Error.ErrType);
            Assert.AreEqual(false, mo.Boolean);
            Assert.AreEqual(0, mo.Integer);
            Assert.AreEqual(0.0, mo.Real);
            Assert.AreEqual(Static.MaxDate, mo.Date);
            Assert.AreEqual(1, mo.Count);
            Assert.AreEqual(DataType.Time, mo.DataType);
            Assert.IsTrue(mo.ValueEquals(m));
            Assert.IsFalse(mo.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(mo));
            Assert.IsFalse(m.ValueAndErrorEquals(mo));

            var d  = new DateTime(2000, 2, 2, 15, 30, 0);
            var m1 = m.ToMom(d, err);

            Assert.AreEqual(d, m1.Time);
            Assert.IsNotNull(m1.Error);
            Assert.IsNotNull(m1.TotalError);
            Assert.AreEqual(2, m1.Error.Number);
            Assert.AreEqual("Error", m1.Error.Text);
            Assert.AreEqual(MomErrType.Source, m1.Error.ErrType);
            Assert.AreEqual(false, m1.Boolean);
            Assert.AreEqual(0, m1.Integer);
            Assert.AreEqual(0.0, m1.Real);
            Assert.AreEqual(Static.MaxDate, m1.Date);
            Assert.AreEqual(1, m1.Count);
            Assert.AreEqual(DataType.Time, m1.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));
            Assert.IsFalse(m.ValueAndErrorEquals(m1));
        }
Example #13
0
        public void MeanString()
        {
            var c    = new ContextTest("Context");
            var pool = MakeErrPool();
            var err  = pool.MakeError(2, c);

            var m = MFactory.NewMean("333");

            Assert.IsNull(m.Error);
            Assert.AreEqual(Static.MinDate, m.Time);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(333, m.Integer);
            Assert.AreEqual(333.0, m.Real);
            Assert.AreEqual("333", m.String);
            Assert.AreEqual(Static.MinDate, m.Date);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.String, m.DataType);
            var v = m.Value;

            Assert.AreEqual(DataType.String, v.DataType);
            var cv = m.CalcValue;

            Assert.AreEqual(DataType.String, cv.DataType);
            Assert.IsNull(cv.TotalError);
            Assert.IsNull(m.ErrorI(0));
            Assert.AreEqual(true, m.BooleanI(0));
            Assert.AreEqual(333, m.IntegerI(0));
            Assert.AreEqual(333.0, m.RealI(0));
            Assert.AreEqual("333", m.StringI(0));
            Assert.AreEqual(Static.MaxDate, m.NextTime);
            m.CurNum = -1;
            Assert.AreEqual(Static.MinDate, m.NextTime);
            m.CurNum = 0;
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(333, m.Integer);
            Assert.AreEqual(333.0, m.Real);
            Assert.AreEqual("333", m.String);

            var m1 = m.ToMom(Static.MaxDate, err);

            Assert.AreEqual(Static.MaxDate, m1.Time);
            Assert.IsNotNull(m1.Error);
            Assert.IsNotNull(m1.TotalError);
            Assert.AreEqual(2, m1.Error.Number);
            Assert.AreEqual("Error", m1.Error.Text);
            Assert.AreEqual(MomErrType.Source, m1.Error.ErrType);
            Assert.AreEqual(true, m1.Boolean);
            Assert.AreEqual(333, m1.Integer);
            Assert.AreEqual(333.0, m1.Real);
            Assert.AreEqual("333", m1.String);
            Assert.AreEqual(1, m1.Count);
            Assert.AreEqual(DataType.String, m1.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));

            var d = new DateTime(2000, 2, 2, 15, 30, 0);

            m = MFactory.NewMean(DataType.String, d);
            Assert.IsNull(m.Error);
            Assert.AreEqual(d, m.Date);
        }
Example #14
0
        public void MeanBool()
        {
            var c    = new ContextTest("Context");
            var pool = MakeErrPool();

            var m = MFactory.NewMean(true);

            Assert.IsNull(m.Error);
            Assert.AreEqual(Static.MinDate, m.Time);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(1, m.Integer);
            Assert.AreEqual(1.0, m.Real);
            Assert.AreEqual("1", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Boolean, m.DataType);
            var v = m.Value;

            Assert.AreEqual(DataType.Boolean, v.DataType);
            var cv = m.CalcValue;

            Assert.AreEqual(DataType.Boolean, cv.DataType);
            Assert.IsNull(cv.TotalError);
            Assert.AreEqual(true, m.BooleanI(0));
            Assert.AreEqual(1, m.IntegerI(0));
            Assert.AreEqual(1.0, m.RealI(0));
            Assert.AreEqual("1", m.StringI(0));
            Assert.IsNull(m.ErrorI(0));
            Assert.AreEqual(Static.MinDate, m.TimeI(0));

            m = (Mean)m.ToMean();
            Assert.IsNull(m.Error);
            Assert.AreEqual(Static.MinDate, m.Time);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(1, m.Integer);
            Assert.AreEqual(1.0, m.Real);
            Assert.AreEqual("1", m.String);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Boolean, m.DataType);
            Assert.AreEqual(true, m.BooleanI(0));
            Assert.AreEqual(1, m.IntegerI(0));
            Assert.AreEqual(1.0, m.RealI(0));
            Assert.AreEqual("1", m.StringI(0));
            Assert.IsNull(m.ErrorI(0));
            Assert.AreEqual(Static.MinDate, m.TimeI(0));

            var m1 = m.ToMom(Static.MaxDate);

            Assert.AreEqual(Static.MaxDate, m1.Time);
            Assert.IsNull(m1.Error);
            Assert.IsNull(m1.TotalError);
            Assert.AreEqual(true, m1.Boolean);
            Assert.AreEqual(1, m1.Integer);
            Assert.AreEqual(1.0, m1.Real);
            Assert.AreEqual("1", m1.String);
            Assert.AreEqual(1, m1.Count);
            Assert.AreEqual(DataType.Boolean, m1.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsTrue(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));
            Assert.IsTrue(m.ValueAndErrorEquals(m1));
            Assert.AreEqual(true, m1.BooleanI(0));
            Assert.AreEqual(1, m1.IntegerI(0));
            Assert.AreEqual(1.0, m1.RealI(0));
            Assert.AreEqual("1", m1.StringI(0));
            Assert.IsNull(m1.ErrorI(0));
            Assert.AreEqual(Static.MaxDate, m1.TimeI(0));
        }
Example #15
0
        public void MeanReal()
        {
            var c    = new ContextTest("Context");
            var pool = MakeErrPool();
            var err  = pool.MakeError(2, c);

            var m = MFactory.NewMean(33.4);

            Assert.IsNull(m.Error);
            Assert.IsNull(m.TotalError);
            Assert.AreEqual(true, m.Boolean);
            Assert.AreEqual(33, m.Integer);
            Assert.AreEqual(33.4, m.Real);
            Assert.AreEqual("33,4", m.String);
            Assert.AreEqual(Static.MinDate, m.Date);
            Assert.AreEqual(1, m.Count);
            Assert.AreEqual(DataType.Real, m.DataType);
            var v = m.Value;

            Assert.AreEqual(DataType.Real, v.DataType);
            var cv = m.CalcValue;

            Assert.AreEqual(DataType.Real, cv.DataType);
            Assert.IsNull(cv.TotalError);
            Assert.IsNull(m.ErrorI(0));
            Assert.AreEqual(true, m.BooleanI(0));
            Assert.AreEqual(33, m.IntegerI(0));
            Assert.AreEqual(33.4, m.RealI(0));
            Assert.AreEqual("33,4", m.StringI(0));

            var mo = m.ToMom();

            Assert.AreEqual(Static.MinDate, mo.Time);
            Assert.IsNull(mo.Error);
            Assert.AreEqual(true, mo.Boolean);
            Assert.AreEqual(33, mo.Integer);
            Assert.AreEqual(33.4, mo.Real);
            Assert.AreEqual("33,4", mo.String);
            Assert.AreEqual(1, mo.Count);
            Assert.AreEqual(DataType.Real, mo.DataType);
            Assert.IsNull(mo.ErrorI(0));
            Assert.AreEqual(true, mo.BooleanI(0));
            Assert.AreEqual(33, mo.IntegerI(0));
            Assert.AreEqual(33.4, mo.RealI(0));
            Assert.AreEqual("33,4", mo.StringI(0));

            var m1 = m.ToMom(Static.MinDate, err);

            Assert.AreEqual(Static.MinDate, m1.Time);
            Assert.IsNotNull(m1.Error);
            Assert.IsNotNull(m1.TotalError);
            Assert.AreEqual(2, m1.Error.Number);
            Assert.AreEqual("Error", m1.Error.Text);
            Assert.AreEqual(MomErrType.Source, m1.Error.ErrType);
            Assert.AreEqual(true, m1.Boolean);
            Assert.AreEqual(33, m1.Integer);
            Assert.AreEqual(33.4, m1.Real);
            Assert.AreEqual("33,4", m1.String);
            Assert.AreEqual(1, m1.Count);
            Assert.AreEqual(DataType.Real, m1.DataType);
            Assert.IsTrue(m1.ValueEquals(m));
            Assert.IsFalse(m1.ValueAndErrorEquals(m));
            Assert.IsTrue(m.ValueEquals(m1));
        }