public void Without_Tzid_Uses_DefaultTimeZone() { // Arrange var calendar = new CalendarModel( Substitute.For <IImmutableList <EventModel> >(), Rnd.DateTime ); // Act var result = new JsonCalendar(calendar); // Assert Assert.Equal(CalendarBase.DefaultTimezone, result.Timezone); }
public void With_Tzid_Sets_Timezone() { // Arrange var tzid = Rnd.Str; var calendar = new CalendarModel( Substitute.For <IImmutableList <EventModel> >(), Rnd.DateTime ); // Act var result = new JsonCalendar(calendar, tzid); // Assert Assert.Equal(tzid, result.Timezone); }
public void Sets_LastModified_Using_Calendar_LastModified() { // Arrange var lastModified = Rnd.DateTime; var calendar = new CalendarModel( Substitute.For <IImmutableList <EventModel> >(), lastModified ); // Act var result = new JsonCalendar(calendar); // Assert Assert.Equal(lastModified, result.LastModified); }
public void Returns_Json() { // Arrange var e0 = new EventModel(Rnd.DateTime, Rnd.DateTime, false, Rnd.Str, Rnd.Str, Rnd.Str, false); var e1 = new EventModel(Rnd.DateTime, Rnd.DateTime, false, Rnd.Str, Rnd.Str, Rnd.Str, true); var events = ImmutableList.Create(e0, e1); var lastModified = Rnd.DateTime; var calendar = new CalendarModel(events, lastModified); var tzid = Rnd.Str; var jsonCalendar = new JsonCalendar(calendar, tzid); var expected = "{" + "\"calendar\":{" + "\"events\":{" + $"\"{lastModified:yyyyMMdd\\THHmmss}-000000\":{{" + $"\"start\":\"{e0.Start:s}\"," + $"\"end\":\"{e0.End:s}\"," + $"\"isAllDay\":{JsonF.Bool(e0.IsAllDay)}," + $"\"summary\":\"{e0.Summary}\"," + $"\"description\":\"{e0.Description}\"," + $"\"location\":\"{e0.Location}\"," + $"\"free\":{JsonF.Bool(e0.Free)}" + "}," + $"\"{lastModified:yyyyMMdd\\THHmmss}-000001\":{{" + $"\"start\":\"{e1.Start:s}\"," + $"\"end\":\"{e1.End:s}\"," + $"\"isAllDay\":{JsonF.Bool(e1.IsAllDay)}," + $"\"summary\":\"{e1.Summary}\"," + $"\"description\":\"{e1.Description}\"," + $"\"location\":\"{e1.Location}\"," + $"\"free\":{JsonF.Bool(e1.Free)}" + "}" + "}," + $"\"lastModified\":\"{lastModified:s}\"," + $"\"timezone\":\"{tzid}\"" + "}" + "}"; // Act var result = jsonCalendar.ToString(); // Assert Assert.Equal(expected, result); }
public void Adds_Events_With_Incrementing_Uid() { // Arrange var e0 = new EventModel(Rnd.DateTime, Rnd.DateTime, false, Rnd.Str, Rnd.Str, Rnd.Str, false); var e1 = new EventModel(Rnd.DateTime, Rnd.DateTime, false, Rnd.Str, Rnd.Str, Rnd.Str, false); var e2 = new EventModel(Rnd.DateTime, Rnd.DateTime, false, Rnd.Str, Rnd.Str, Rnd.Str, false); var events = ImmutableList.Create(e0, e1, e2); var calendar = new CalendarModel(events, Rnd.DateTime); // Act var result = new JsonCalendar(calendar); // Assert Assert.Collection(result.Events, x => { Assert.Equal('0', x.Key[^ 1]); Assert.Equal(e0, x.Value); },