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(); }
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); }
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); }
//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); }
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()); }
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."); } } }
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); }
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); }
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(); }
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); } }
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); }