Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }