Example #1
0
        public void InsertIntoIntTable()
        {
            DateTime now      = DateTime.Now;
            string   tagName  = "MyMeasuredValue";
            int      tagValue = 12345678;
            string   remark   = "Bla Bla";
            int      count    = ValueTableWriter.SaveValueWhenConditionsAreMet(
                new MeasuredValue()
            {
                Name        = tagName,
                TimeStamp   = now,
                Quality     = OPCQuality.Good,
                Value       = tagValue,
                Description = remark
            }, CompressionCondition.GetNoCompressionCondition());

            Assert.AreEqual(1, count);

            count = ValueTableWriter.SaveValueWhenConditionsAreMet(
                new MeasuredValue()
            {
                Name        = tagName,
                TimeStamp   = now + new TimeSpan(0, 0, 0, 1, 1),
                Quality     = OPCQuality.Good,
                Value       = tagValue,
                Description = remark
            }, CompressionCondition.GetDefaultCondition());
            Assert.AreEqual(0, count);

            MeasuredValue mv = ValueTableWriter.ReadLastMeasuredValueFromLocalDB("MyMeasuredValue", TypeCode.Int32);

            Assert.AreEqual(tagName, mv.Name);
            TimeSpan sp = now - mv.TimeStamp;

            // Datenbankgenauigkeit ist bei Datum nicht hoch genug
            Assert.Greater(0.1, sp.TotalSeconds);
            Assert.AreEqual(tagValue, mv.Value);
            Assert.AreEqual(OPCQuality.Good, mv.Quality);
            Assert.AreEqual(remark, mv.Description);
        }