public void AddWithDuration() { DateTime before = DateTime.Now.AddMinutes(-1); DateTime after = DateTime.Now.AddMinutes(1); TimeSpanModel model = new TimeSpanModel { Duration = TimeSpan.FromMinutes(60) }; Repository.Add(model); Assert.That(Records, Is.Not.Empty); var record = Records[0]; Assert.That(record.Location, Is.EqualTo(location)); Assert.That(record.Module, Is.EqualTo(module)); Assert.That(record.GetFieldValue("Duration", -1), Is.EqualTo(60 * 60)); Assert.That(record.RecordId, Is.GreaterThan(0)); TimeSpanModel retrieved = Repository.FindById(record.RecordId); Assert.That(retrieved, Is.Not.Null); Assert.That(retrieved.Id, Is.EqualTo(record.RecordId)); Assert.That(retrieved.Sample, Is.InRange(before, after)); Assert.That(retrieved.Duration, Is.EqualTo(TimeSpan.FromMinutes(60))); }
public void Extract_TimeSpan_ShouldMapFromTime() { // Arrange const string value = "123456"; RfcErrorInfo errorInfo; _interopMock .Setup(x => x.GetTime(It.IsAny <IntPtr>(), It.IsAny <string>(), It.IsAny <char[]>(), out errorInfo)) .Callback(new GetTimeCallback((IntPtr dataHandle, string name, char[] buffer, out RfcErrorInfo ei) => { Array.Copy(value.ToCharArray(), buffer, value.Length); ei = default; })); // Act TimeSpanModel result = OutputMapper.Extract <TimeSpanModel>(_interopMock.Object, DataHandle); // Assert _interopMock.Verify( x => x.GetTime(DataHandle, "TIMESPANVALUE", It.IsAny <char[]>(), out errorInfo), Times.Once); _interopMock.Verify( x => x.GetTime(DataHandle, "NULLABLETIMESPANVALUE", It.IsAny <char[]>(), out errorInfo), Times.Once); result.Should().NotBeNull(); result.TimeSpanValue.Should().Be(new TimeSpan(12, 34, 56)); result.NullableTimeSpanValue.Should().Be(new TimeSpan(12, 34, 56)); }
private List <TimeSpanModel> GenrateSlots(RoomModel <TimeSpanModel> room, DateTime?BookingDate, MySqlConnection conn = null) { var availableSlots = new List <TimeSpanModel>(); var startTimespan = TimeSpan.Parse(room.StartTime); var endTimeSpan = TimeSpan.Parse(room.EndTime); var bookedSlots = new List <TimeSpanModel>(); if (BookingDate != null) { var sql = "Select * from bookings where room_id=" + room.Id + " and date='" + BookingDate.Value.ToString("yyyy-MM-dd") + "' and status=1"; MySqlDataAdapter mydata = new MySqlDataAdapter(sql, conn); DataSet ds = new DataSet(); mydata.Fill(ds); if (ds.Tables.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { bookedSlots.Add(new TimeSpanModel() { StartTime = Convert.ToString(ds.Tables[0].Rows[i]["start_time"]), EndTime = Convert.ToString(ds.Tables[0].Rows[i]["end_time"]), }); } } } TimeSpan ts = TimeSpan.FromMinutes(Convert.ToInt32(room.BookingInterval)); while (true) { if (TimeSpan.Compare(startTimespan, endTimeSpan) == 0) { break; } var item = new TimeSpanModel { StartTime = startTimespan.ToString(@"hh\:mm"), EndTime = startTimespan.Add(ts).ToString(@"hh\:mm") }; item.IsActive = !bookedSlots.Exists(x => x.StartTime == item.StartTime && x.EndTime == item.EndTime); availableSlots.Add(item); startTimespan = startTimespan.Add(ts); } return(availableSlots); }
public void SerializeTimeSpan() { // Arrange var serializer = new CustomJsonSerializer { JsonConverters = GraphClient.DefaultJsonConverters }; var value = new TimeSpan(400, 13, 3, 2,10); var model = new TimeSpanModel { Foo = value }; // Act var result = serializer.Serialize(model.Foo); // Assert Assert.AreEqual("400.13:03:02.0100000", result.Replace("\"", "")); }
public void SerializeTimeSpan() { // Arrange var serializer = new CustomJsonSerializer { JsonConverters = GraphClient.DefaultJsonConverters }; var value = new TimeSpan(400, 13, 3, 2, 10); var model = new TimeSpanModel { Foo = value }; // Act var result = serializer.Serialize(model.Foo); // Assert Assert.AreEqual("400.13:03:02.0100000", result.Replace("\"", "")); }
public void SerializeTimeSpan() { // Arrange var serializer = new CustomJsonSerializer { JsonConverters = GraphClient.DefaultJsonConverters }; var value = new TimeSpan(400, 13, 3, 2, 10); var model = new TimeSpanModel { Foo = value }; // Act var result = serializer.Serialize(model); const string expected = "{\r\n \"Foo\": \"400.13:03:02.0100000\"\r\n}"; result.Should().Be(expected); }
public void GetWithZeroDuration() { DateTime before = DateTime.Now.AddMinutes(-1); DateTime after = DateTime.Now.AddMinutes(1); var record = ProductionRecords.NewRecord().MarkAsNew(); record.SetFieldValue("Duration", 0); int recordId = SaveRecord(record); Assert.That(Records, Is.Not.Empty); TimeSpanModel retrieved = Repository.FindById(recordId); Assert.That(retrieved, Is.Not.Null); Assert.That(retrieved.Id, Is.EqualTo(recordId)); Assert.That(retrieved.Sample, Is.InRange(before, after)); Assert.That(retrieved.Duration, Is.EqualTo(TimeSpan.FromMinutes(0))); }
public void TimeSpanToJsonStringConverter_Test() { var obj = new TimeSpanModel { MyTimeSpan = TimeSpan.FromMinutes(72), MyTimeSpan2 = null, MyNullableTimeSpan = null, MyNullableTimeSpan2 = TimeSpan.FromMinutes(72) }; var jsonString = JsonConvert.SerializeObject(obj); //WriteJson assert jsonString.ShouldBe("{\"MyTimeSpan\":\"01:12:00\",\"MyTimeSpan2\":null,\"MyNullableTimeSpan\":null,\"MyNullableTimeSpan2\":\"01:12:00\"}"); var obj2 = JsonConvert.DeserializeObject<TimeSpanModel>(jsonString); //ReadJson assert obj2.MyTimeSpan.ShouldBe(TimeSpan.FromMinutes(72)); obj2.MyTimeSpan2.ShouldBeNull(); obj2.MyNullableTimeSpan.ShouldBeNull(); obj2.MyNullableTimeSpan2.ShouldBe(TimeSpan.FromMinutes(72)); }
public void Extract_NonNullableTimeSpan_ZeroOrEmptyOrInvalidTime_ShouldMapToZeroTimeSpan(string value) { // Arrange RfcErrorInfo errorInfo; _interopMock .Setup(x => x.GetTime(It.IsAny <IntPtr>(), It.IsAny <string>(), It.IsAny <char[]>(), out errorInfo)) .Callback(new GetTimeCallback((IntPtr dataHandle, string name, char[] buffer, out RfcErrorInfo ei) => { Array.Copy(value.ToCharArray(), buffer, value.Length); ei = default; })); // Act TimeSpanModel result = OutputMapper.Extract <TimeSpanModel>(_interopMock.Object, DataHandle); // Assert _interopMock.Verify( x => x.GetTime(DataHandle, "TIMESPANVALUE", It.IsAny <char[]>(), out errorInfo), Times.Once); result.Should().NotBeNull(); result.TimeSpanValue.Should().Be(TimeSpan.Zero); }