public void ToDocument_AnnouncementWithAnId_IdIsRepresentedAsObjectId() { var announcement = new Announcement(); announcement.Id = ObjectId.GenerateNewId().ToString(); var document = announcement.ToBsonDocument(); Expect(document["_id"].BsonType, Is.EqualTo(BsonType.ObjectId)); }
public void New_Announcement_Should_Be_Deserialized_Correctly() { var newAnnouncement = new NewAnnouncement { Title = "Test Announcement 1", Description = new[] {"Test Test"}, ValidTill = DateTime.UtcNow.AddDays(7) }; var announcement = new Announcement(newAnnouncement); Console.WriteLine(announcement.ToBsonDocument()); }
public void ToDocument_AnnouncementWithPublishDate_PublishDateShouldAlwaysBeLocal() { // Arrange var announcement = new Announcement(); // Act // Being saved as UTC time announcement.PublishedOn = DateTime.UtcNow; var document = announcement.ToBsonDocument(); var converted = BsonSerializer.Deserialize<Announcement>(document); // Assert // Verify that it is deserialized as local date / time Console.WriteLine("Kind: " + converted.PublishedOn.Kind); Console.WriteLine("Converted: " + converted.PublishedOn); Console.WriteLine("Original: " + announcement.PublishedOn); Expect(converted.PublishedOn.Kind, Is.EqualTo(DateTimeKind.Local)); Expect(converted.PublishedOn.ToString(), Is.EqualTo(announcement.PublishedOn.ToLocalTime().ToString())); }