public void TestMergeRedundantExtensiveLeftJustifiedOverlap() { Verbrauch v1 = new Verbrauch() { Obiskennzahl = "123", Wertermittlungsverfahren = Wertermittlungsverfahren.MESSUNG, Einheit = Mengeneinheit.KWH, Wert = 5, Startdatum = new DateTimeOffset(2017, 12, 31, 23, 0, 0, TimeSpan.Zero).UtcDateTime, Enddatum = new DateTimeOffset(2018, 2, 28, 23, 0, 0, TimeSpan.Zero).UtcDateTime }; Verbrauch v2 = new Verbrauch() { Obiskennzahl = "123", Wertermittlungsverfahren = Wertermittlungsverfahren.MESSUNG, Einheit = Mengeneinheit.KWH, Wert = 3, Startdatum = new DateTimeOffset(2017, 12, 31, 23, 0, 0, TimeSpan.Zero).UtcDateTime, Enddatum = new DateTimeOffset(2018, 1, 31, 23, 0, 0, TimeSpan.Zero).UtcDateTime }; var rawResult = v1.MergeRedundant(v2, true); List <Verbrauch> result = new List <Verbrauch>(rawResult); result.Sort(new VerbrauchDateTimeComparer()); Assert.AreEqual(1, result.Count); Assert.AreEqual(2, result.First().Wert); Assert.AreEqual(new DateTimeOffset(2017, 12, 31, 23, 0, 0, TimeSpan.Zero), result.First().Startdatum); //Assert.AreEqual(new DateTimeOffset(2018, 1, 31, 23, 0, 0, TimeSpan.Zero), result.First().enddatum); //Assert.AreEqual(5, result.Last().wert); //Assert.AreEqual(new DateTimeOffset(2018, 1, 31, 23, 0, 0, TimeSpan.Zero), result.Last().startdatum); Assert.AreEqual(new DateTimeOffset(2018, 2, 28, 23, 0, 0, TimeSpan.Zero), result.Last().Enddatum); }
public void TestMergeRedundantExtensiveSameTime() { Verbrauch v1 = new Verbrauch() { Obiskennzahl = "123", Wertermittlungsverfahren = Wertermittlungsverfahren.MESSUNG, Einheit = Mengeneinheit.KWH, Wert = 5, Startdatum = new DateTimeOffset(2017, 12, 31, 23, 0, 0, TimeSpan.Zero).UtcDateTime, Enddatum = new DateTimeOffset(2018, 1, 31, 23, 0, 0, TimeSpan.Zero).UtcDateTime }; Verbrauch v2 = new Verbrauch() { Obiskennzahl = "123", Wertermittlungsverfahren = Wertermittlungsverfahren.MESSUNG, Einheit = Mengeneinheit.KWH, Wert = 5, Startdatum = new DateTimeOffset(2017, 12, 31, 23, 0, 0, TimeSpan.Zero).UtcDateTime, Enddatum = new DateTimeOffset(2018, 1, 31, 23, 0, 0, TimeSpan.Zero).UtcDateTime }; var rawResult = v1.MergeRedundant(v2, true); List <Verbrauch> result = new List <Verbrauch>(rawResult); Assert.AreEqual(1, result.Count); Assert.AreEqual(5, result.First().Wert); }
public void TestMergeRedundantRightJustifiedOverlap() { Verbrauch v1 = JsonConvert.DeserializeObject <Verbrauch>("{\"startdatum\":\"2018-12-25T16:22:00Z\",\"enddatum\":\"2019-12-25T08:20:00Z\",\"wertermittlungsverfahren\":0,\"obiskennzahl\":\"1-1:1.8.0\",\"wert\":1539,\"einheit\":2,\"zaehlernummer\":\"10000548\"}"); Verbrauch v2 = JsonConvert.DeserializeObject <Verbrauch>("{\"startdatum\":\"2018-09-01T00:00:00Z\",\"enddatum\":\"2018-12-25T16:22:00Z\",\"wertermittlungsverfahren\":0,\"obiskennzahl\":\"1-1:1.8.0\",\"wert\":911,\"einheit\":2,\"zaehlernummer\":\"10000548\"}"); var rawResult = v1.MergeRedundant(v2, true); List <Verbrauch> result = new List <Verbrauch>(rawResult); result.Sort(new VerbrauchDateTimeComparer()); Assert.AreEqual(1, result.Count); Assert.AreEqual(2450.0M, result.First().Wert); Assert.AreEqual(new DateTimeOffset(2018, 9, 1, 0, 0, 0, TimeSpan.Zero), result.First().Startdatum); Assert.AreEqual(new DateTimeOffset(2019, 12, 25, 08, 20, 0, TimeSpan.Zero), result.First().Enddatum); }