public void Update()
        {
            IgnoreOnMySQL();

            BasicTime basic = Create(1);

            ISession s = OpenSession();

            s.Save(basic);
            s.Flush();
            s.Close();

            s     = OpenSession();
            basic = (BasicTime)s.Load(typeof(BasicTime), 1);

            basic.TimeValue = new DateTime(2000, 12, 1, 13, 1, 2);

            s.Flush();
            s.Close();

            s = OpenSession();
            // make sure the update went through
            BasicTime basicLoaded = (BasicTime)s.Load(typeof(BasicTime), 1);

            Assert.AreEqual(13, basicLoaded.TimeValue.Hour);
            Assert.AreEqual(1, basicLoaded.TimeValue.Minute);
            Assert.AreEqual(2, basicLoaded.TimeValue.Second);

            s.Delete(basicLoaded);
            s.Flush();
            s.Close();
        }
        public void Insert()
        {
            IgnoreOnMySQL();

            BasicTime basic = Create(1);

            ISession s = OpenSession();

            s.Save(basic);
            s.Flush();
            s.Close();

            s = OpenSession();

            BasicTime basicLoaded = (BasicTime)s.Load(typeof(BasicTime), 1);

            Assert.IsNotNull(basicLoaded);
            Assert.IsFalse(basic == basicLoaded);

            Assert.AreEqual(basic.TimeValue.Hour, basicLoaded.TimeValue.Hour);
            Assert.AreEqual(basic.TimeValue.Minute, basicLoaded.TimeValue.Minute);
            Assert.AreEqual(basic.TimeValue.Second, basicLoaded.TimeValue.Second);

            s.Delete(basicLoaded);
            s.Flush();
            s.Close();
        }
Esempio n. 3
0
        public async Task InsertAsync()
        {
            IgnoreOnMySQL();

            BasicTime basic = Create(1);

            ISession s = OpenSession();

            await(s.SaveAsync(basic));
            await(s.FlushAsync());
            s.Close();

            s = OpenSession();

            BasicTime basicLoaded = (BasicTime)await(s.LoadAsync(typeof(BasicTime), 1));

            Assert.IsNotNull(basicLoaded);
            Assert.IsFalse(basic == basicLoaded);

            Assert.AreEqual(basic.TimeValue.Hour, basicLoaded.TimeValue.Hour);
            Assert.AreEqual(basic.TimeValue.Minute, basicLoaded.TimeValue.Minute);
            Assert.AreEqual(basic.TimeValue.Second, basicLoaded.TimeValue.Second);

            await(s.DeleteAsync(basicLoaded));
            await(s.FlushAsync());
            s.Close();
        }
        private BasicTime Create(int id)
        {
            BasicTime basic = new BasicTime();

            basic.Id = id;

            basic.TimeValue = new DateTime(1753, 01, 01, 12, 00, 00, 00);

            return(basic);
        }
Esempio n. 5
0
        public void Constructors()
        {
            BasicTime bt = new BasicTime("06:15");

            Assert.IsTrue(bt.Hour == 6);
            Assert.IsTrue(bt.Minute == 15);

            bt = new BasicTime("06h15");
            Assert.IsTrue(bt.Hour == 6);
            Assert.IsTrue(bt.Minute == 15);
        }
Esempio n. 6
0
        //private string[,] GetSearchParams(string SearchList)
        //{
        //  int pos = 0;
        //  int num = 0;
        //  int offset;

        //  while ((offset = SearchList.IndexOf(';', pos)) != -1)
        //  {
        //    pos = offset + 1;
        //    num++;
        //  }

        //  string[,] SearchParams = new string[num, 2];

        //  int startPos = 0;
        //  int endPos = 0;
        //  for (int i = 0; i < num; i++)
        //  {
        //    if ((startPos = SearchList.IndexOf('[', startPos)) != -1)
        //    {
        //      if ((endPos = SearchList.IndexOf(']', startPos + 1)) != -1)
        //      {
        //        SearchParams[i, 0] = SearchList.Substring(startPos + 1, endPos - startPos - 1);
        //      }
        //    }

        //    if ((startPos = SearchList.IndexOf('"', endPos)) != -1)
        //    {
        //      if ((endPos = SearchList.IndexOf('"', startPos + 1)) != -1)
        //      {
        //        SearchParams[i, 1] = SearchList.Substring(startPos + 1, endPos - startPos - 1);
        //      }
        //    }

        //    startPos = SearchList.IndexOf(';', startPos);
        //  }

        //  return SearchParams;
        //}

        private BasicTime GetTime(string strTime)
        {
            BasicTime time;

            try
            {
                time = new BasicTime(strTime);
            }
            catch (ArgumentOutOfRangeException)
            {
                return(null);
            }
            return(time);
        }
Esempio n. 7
0
        public void Test_run_return_matrix_time()
        {
            DBConnection db = new DBConnection();

            db.connect(SERVER, PORT);
            IMatrix m = (BasicTimeMatrix)db.run("matrix(10:57:01.001 10:58:02.002 10:59:03.003,10:58:01.001 10:58:02.002 10:59:03.003)");

            Assert.IsTrue(m.isMatrix());
            Assert.AreEqual(3, m.rows());
            Assert.AreEqual(2, m.columns());
            BasicTime bt = (BasicTime)m.get(0, 1);

            Assert.AreEqual(new DateTime(1970, 1, 1, 10, 58, 01, 001).TimeOfDay, bt.getValue());
        }
Esempio n. 8
0
    public void MapDataTest()
    {
        var tests = new[] {
            new {
                Q = new SlugMapping {
                    TravelTimeID = BasicTravelTimeID, Slug = BasicSlug
                },
                Resource = new Resource {
                    TravelTimeID = BasicTravelTimeID, CurrentTime = BasicTime
                },
                Expected = new { TravelTimeID = BasicTravelTimeID, CurrentTime = BasicTime.ToString(), Slug = BasicSlug, Found = true }
            },
            new {
                Q = new SlugMapping {
                    TravelTimeID = BasicTravelTimeID, Slug = BasicSlug
                },
                Resource = new Resource {
                    TravelTimeID = BasicTravelTimeID - 85
                },
                Expected = new { TravelTimeID = 0L, CurrentTime = string.Empty, Slug = string.Empty, Found = false }
            },
        };

        foreach (var test in tests)
        {
            var logger     = new Mock <ILogger <MQTTLiason> >();
            var generator  = new Mock <IMQTTGenerator>();
            var sharedOpts = Options.Create(new SharedOpts
            {
                Resources = new[] { test.Q }.ToList(),
            });

            generator.Setup(x => x.BuildDiscovery(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <System.Reflection.AssemblyName>(), false))
            .Returns(new TwoMQTT.Models.MQTTDiscovery());
            generator.Setup(x => x.StateTopic(test.Q.Slug, It.IsAny <string>()))
            .Returns($"totes/{test.Q.Slug}/topic/{nameof(Resource.CurrentTime)}");

            var mqttLiason = new MQTTLiason(logger.Object, generator.Object, sharedOpts);
            var results    = mqttLiason.MapData(test.Resource);
            var actual     = results.FirstOrDefault(x => x.topic?.Contains(nameof(Resource.CurrentTime)) ?? false);

            Assert.AreEqual(test.Expected.Found, results.Any(), "The mapping should exist if found.");
            if (test.Expected.Found)
            {
                Assert.IsTrue(actual.topic.Contains(test.Expected.Slug), "The topic should contain the expected TravelTimeID.");
                Assert.AreEqual(test.Expected.CurrentTime, actual.payload, "The payload be the expected CurrentTime.");
            }
        }
    }
Esempio n. 9
0
        public void Test_getInternalValue()
        {
            DBConnection db = new DBConnection();

            db.connect(SERVER, PORT);

            BasicDate date = (BasicDate)db.run("2018.07.10");
            int       r    = date.getInternalValue();

            Assert.AreEqual(17722, r);

            BasicTimestamp timestamp = (BasicTimestamp)db.run("2018.07.10T10:12:13.005");
            long           l         = timestamp.getInternalValue();

            Assert.AreEqual(1531217533005, l);

            BasicTime time = (BasicTime)db.run("10:12:13.005");
            int       t    = time.getInternalValue();

            Assert.AreEqual(36733005, t);
            //min
            BasicMinute min = (BasicMinute)db.run("10:12m");
            int         m   = min.getInternalValue();

            Assert.AreEqual(612, m);
            //sec
            BasicSecond sec = (BasicSecond)db.run("10:12:11");
            int         s   = sec.getInternalValue();

            Assert.AreEqual(36731, s);

            //month
            BasicMonth mon = (BasicMonth)db.run("2018.07M");
            int        mo  = mon.getInternalValue();

            Assert.AreEqual(24222, mo);

            //nanotime
            BasicNanoTime nt  = (BasicNanoTime)db.run("10:12:13.005002003");
            long          nti = nt.getInternalValue();

            Assert.AreEqual(36733005002003, nti);
            //nanotimestamp
            BasicNanoTimestamp nts = (BasicNanoTimestamp)db.run("2018.07.10T10:12:13.005002003");
            long ntsi = nts.getInternalValue();

            Assert.AreEqual(1531217533005002003, ntsi);
        }
Esempio n. 10
0
        public void OperatorsWithDateTime()
        {
            BasicTime bt = new BasicTime("06:00");

            DateTime dt = new DateTime(2009, 3, 5, 23, 30, 0, 0);

            Assert.IsTrue(bt < dt);

            dt = new DateTime(2009, 3, 5, 6, 0, 0, 0);
            Assert.IsFalse(bt < dt);
            Assert.IsTrue(bt <= dt);
            Assert.IsTrue(bt >= dt);

            dt = new DateTime(2009, 3, 5, 3, 0, 0, 0);
            Assert.IsTrue(bt > dt);
        }
Esempio n. 11
0
        public void doEvent(IMessage msg)
        {
            if (started == false)
            {
                started = true;
                start   = DateTime.Now.Ticks;
            }
            BasicTime time = (BasicTime)msg.getEntity(1);

            Console.WriteLine("time:" + time + " ");
            string symbol = msg.getEntity(2).getString();

            Console.WriteLine("sym:" + symbol + " ");
            int qty = ((BasicInt)msg.getEntity(3)).getValue();

            Console.WriteLine("qty:" + qty + " ");
            double price = ((BasicDouble)msg.getEntity(4)).getValue();

            Console.WriteLine("price:" + price + " \n");
        }
        public void TimeArray()
        {
            IgnoreOnMySQL();

            BasicTime basic = Create(1);

            ISession s = OpenSession();

            s.Save(basic);
            s.Flush();
            s.Close();

            s = OpenSession();

            BasicTime basicLoaded = (BasicTime)s.Load(typeof(BasicTime), 1);

            Assert.AreEqual(0, basicLoaded.TimeArray.Length);

            basicLoaded.TimeArray = new DateTime[] { new DateTime(2000, 01, 01, 12, 1, 1), new DateTime(1500, 1, 1) };

            s.Flush();
            s.Close();

            s     = OpenSession();
            basic = (BasicTime)s.Load(typeof(BasicTime), 1);
            // make sure the 0 index saved with values in Time
            Assert.AreEqual(12, basic.TimeArray[0].Hour);
            Assert.AreEqual(1, basic.TimeArray[0].Minute);
            Assert.AreEqual(1, basic.TimeArray[0].Second);

            // make sure the value below 1753 was not written to db - per msdn docs
            // meaning of DbType.Time.  If not written to the db it will have the value
            // of an uninitialized DateTime - which is the min value.
            Assert.AreEqual(DateTime.MinValue, basic.TimeArray[1], "date before 1753 should not have been written");
            s.Delete(basic);
            s.Flush();
            s.Close();
        }
Esempio n. 13
0
        public void SetElement(string tag, string element)
        {
            try
            {
                switch (tag)
                {
                case "#STARTXMLTV":
                    _startTime = new WorldDateTime(element, false);
                    break;

                case "#ENDXMLTV":
                    _endTime = new WorldDateTime(element, false);
                    break;

                case "#START":
                    BasicTime startTime = GetTime(element);
                    if (_startTime == null)
                    {
                        _startTime = new WorldDateTime();
                    }
                    _startTime.Hour   = startTime.Hour;
                    _startTime.Minute = startTime.Minute;
                    break;

                case "#END":
                    BasicTime endTime = GetTime(element);
                    if (_endTime == null)
                    {
                        _endTime = new WorldDateTime();
                    }
                    _endTime.Hour   = endTime.Hour;
                    _endTime.Minute = endTime.Minute;
                    break;

                case "#DATE":
                    GetDate(element);
                    break;

                case "#DAY":
                    if (_startTime == null)
                    {
                        _startTime = new WorldDateTime();
                    }
                    _startTime.Day = int.Parse(element);
                    break;

                case "#DESCRIPTION":
                    if (_description == string.Empty)
                    {
                        _description = element.Trim(' ', '\n', '\t');
                    }
                    else
                    {
                        _description = _description + "\n" + element.Trim(' ', '\n', '\t');
                    }
                    break;

                case "#MONTH":
                    if (_startTime == null)
                    {
                        _startTime = new WorldDateTime();
                    }
                    _startTime.Month = GetMonth(element.Trim(' ', '\n', '\t'));
                    break;

                case "#TITLE":
                    Title = element.Trim(' ', '\n', '\t');
                    break;

                case "#SUBTITLE":
                    SubTitle = element.Trim(' ', '\n', '\t');
                    break;

                case "#GENRE":
                    Genre = element.Trim(' ', '\n', '\t');
                    break;

                case "#ACTORS":
                    _actors = GetActors(element);
                    break;

                case "#EPISODE":
                    _episode = GetNumber(element);
                    break;

                case "#SEASON":
                    _season = GetNumber(element);
                    break;

                case "#REPEAT":
                    if (element.ToLower().IndexOf("false") == -1)
                    {
                        _repeat = true;
                    }
                    break;

                case "#SUBTITLES":
                    if (element.ToLower().IndexOf("false") == -1)
                    {
                        _subtitles = true;
                    }
                    break;

                default:
                    break;
                }
            }
            catch (Exception)
            {
                Log.Error("Parsing error {0} : {1}", tag, element);
            }
        }
Esempio n. 14
0
    public virtual void PollingClient()
    {
        PollingClient client = new PollingClient(subscribePORT);

        try
        {
            TopicPoller poller1 = client.subscribe(HOST, PORT, "Trades");
            int         count   = 0;
            bool        started = false;
            long        start   = DateTime.Now.Ticks;
            long        last    = DateTime.Now.Ticks;
            while (true)
            {
                List <IMessage> msgs = poller1.poll(1000);
                if (msgs == null)
                {
                    count = 0;
                    start = DateTime.Now.Ticks;
                    continue;
                }
                if (msgs.Count > 0 && started == false)
                {
                    started = true;
                    start   = DateTime.Now.Ticks;
                }

                count += msgs.Count;
                for (int i = 0; i < msgs.Count; ++i)
                {
                    BasicTime time = (BasicTime)msgs[i].getEntity(1);
                    Console.Write("time:" + time + " ");
                    string symbol = msgs[i].getEntity(2).getString();
                    Console.Write("sym:" + symbol + " ");
                    int qty = ((BasicInt)msgs[i].getEntity(3)).getValue();
                    Console.Write("qty:" + qty + " ");
                    double?price = ((BasicDouble)msgs[i].getEntity(4)).getValue();
                    Console.Write("price:" + price + " \n");
                }
                if (msgs.Count > 0)
                {
                    if (((BasicInt)msgs[msgs.Count - 1].getEntity(0)).getValue() == -1)
                    {
                        break;
                    }
                }
                long now = DateTime.Now.Ticks;
                if (now - last >= 1000)
                {
                    long endtime = DateTime.Now.Ticks;
                    Console.WriteLine(count + " messages took " + (endtime - start) + "ms, throughput: " + count / ((endtime - start) / 1000.0) + " messages/s");
                    last = now;
                }
            }
            long end = DateTime.Now.Ticks;
            Console.WriteLine(count + " messages took " + (end - start) + "ms, throughput: " + count / ((end - start) / 1000.0) + " messages/s");
            client.unsubscribe(HOST, PORT, "Trades");
        }
        catch (IOException e)
        {
            Console.WriteLine(e.ToString());
            Console.Write(e.StackTrace);
        }
        Environment.Exit(0);
    }