public async Task ReportingPeriodModel_with_nulls___Should_roundtrip_to_Mongo_and_back___When_using_custom_IReportingPeriod_serializers() { // Arrange var collection1 = Database.GetCollection <ReportingPeriodModel>(nameof(ReportingPeriodModel)); var collection2 = Database.GetCollection <IReportingPeriodModel>(nameof(IReportingPeriodModel)); var expectedModel1 = new ReportingPeriodModel(); var expectedModel2 = new IReportingPeriodModel(); // Act collection1.InsertOne(expectedModel1); collection2.InsertOne(expectedModel2); var actualModel1 = (await collection1.Find(_ => _.Id == expectedModel1.Id).ToListAsync()).Single(); var actualModel2 = (await collection2.Find(_ => _.Id == expectedModel2.Id).ToListAsync()).Single(); // Assert actualModel1.UnitOfTime.Should().BeNull(); actualModel1.CalendarUnitOfTime.Should().BeNull(); actualModel1.CalendarDay.Should().BeNull(); actualModel1.CalendarMonth.Should().BeNull(); actualModel1.CalendarQuarter.Should().BeNull(); actualModel1.CalendarYear.Should().BeNull(); actualModel1.CalendarUnbounded.Should().BeNull(); actualModel1.FiscalUnitOfTime.Should().BeNull(); actualModel1.FiscalMonth.Should().BeNull(); actualModel1.FiscalQuarter.Should().BeNull(); actualModel1.FiscalYear.Should().BeNull(); actualModel1.FiscalUnbounded.Should().BeNull(); actualModel1.GenericUnitOfTime.Should().BeNull(); actualModel1.GenericMonth.Should().BeNull(); actualModel1.GenericQuarter.Should().BeNull(); actualModel1.GenericYear.Should().BeNull(); actualModel1.GenericUnbounded.Should().BeNull(); actualModel2.UnitOfTime.Should().BeNull(); actualModel2.CalendarUnitOfTime.Should().BeNull(); actualModel2.CalendarDay.Should().BeNull(); actualModel2.CalendarMonth.Should().BeNull(); actualModel2.CalendarQuarter.Should().BeNull(); actualModel2.CalendarYear.Should().BeNull(); actualModel2.CalendarUnbounded.Should().BeNull(); actualModel2.FiscalUnitOfTime.Should().BeNull(); actualModel2.FiscalMonth.Should().BeNull(); actualModel2.FiscalQuarter.Should().BeNull(); actualModel2.FiscalYear.Should().BeNull(); actualModel2.FiscalUnbounded.Should().BeNull(); actualModel2.GenericUnitOfTime.Should().BeNull(); actualModel2.GenericMonth.Should().BeNull(); actualModel2.GenericQuarter.Should().BeNull(); actualModel2.GenericYear.Should().BeNull(); actualModel2.GenericUnbounded.Should().BeNull(); }
public static void ReportingPeriodModel_with_nulls___Should_roundtrip_to_json_and_back___When_using_ReportingPeriodConverter() { // Arrange var expectedModel1 = new ReportingPeriodModel(); var expectedModel2 = new IReportingPeriodModel(); // Act var json1 = JsonConvert.SerializeObject(expectedModel1); var json2 = JsonConvert.SerializeObject(expectedModel2); var actualModel1 = JsonConvert.DeserializeObject <ReportingPeriodModel>(json1); var actualModel2 = JsonConvert.DeserializeObject <ReportingPeriodModel>(json2); // Assert actualModel1.UnitOfTime.Should().BeNull(); actualModel1.CalendarUnitOfTime.Should().BeNull(); actualModel1.CalendarDay.Should().BeNull(); actualModel1.CalendarMonth.Should().BeNull(); actualModel1.CalendarQuarter.Should().BeNull(); actualModel1.CalendarYear.Should().BeNull(); actualModel1.CalendarUnbounded.Should().BeNull(); actualModel1.FiscalUnitOfTime.Should().BeNull(); actualModel1.FiscalMonth.Should().BeNull(); actualModel1.FiscalQuarter.Should().BeNull(); actualModel1.FiscalYear.Should().BeNull(); actualModel1.FiscalUnbounded.Should().BeNull(); actualModel1.GenericUnitOfTime.Should().BeNull(); actualModel1.GenericMonth.Should().BeNull(); actualModel1.GenericQuarter.Should().BeNull(); actualModel1.GenericYear.Should().BeNull(); actualModel1.GenericUnbounded.Should().BeNull(); actualModel2.UnitOfTime.Should().BeNull(); actualModel2.CalendarUnitOfTime.Should().BeNull(); actualModel2.CalendarDay.Should().BeNull(); actualModel2.CalendarMonth.Should().BeNull(); actualModel2.CalendarQuarter.Should().BeNull(); actualModel2.CalendarYear.Should().BeNull(); actualModel2.CalendarUnbounded.Should().BeNull(); actualModel2.FiscalUnitOfTime.Should().BeNull(); actualModel2.FiscalMonth.Should().BeNull(); actualModel2.FiscalQuarter.Should().BeNull(); actualModel2.FiscalYear.Should().BeNull(); actualModel2.FiscalUnbounded.Should().BeNull(); actualModel2.GenericUnitOfTime.Should().BeNull(); actualModel2.GenericMonth.Should().BeNull(); actualModel2.GenericQuarter.Should().BeNull(); actualModel2.GenericYear.Should().BeNull(); actualModel2.GenericUnbounded.Should().BeNull(); }