Пример #1
0
        public void merge_Auftrag_context()
        {
            IAuftrag a = new Auftrag(
                new Normalschein(
                    new Normalfeld(1, 2, 3, 4, 5, 6),
                    new Normalfeld(1, 2, 3, 4, 5, 6)
                    ) { IsSpiel77 = false, IsSuper6 = false, Losnummer = "1234567" }
                );
            var aus = new Ausspielung(new[] { 1, 2, 3, 4, 5, 6 }, 49, "1234567", "234567", 7);

            Console.WriteLine("Ziehung: " + Stringifier.stringify(aus.Gewinnzahlen, " "));
            foreach (var tipp in a.Tipps)
                Console.WriteLine("Tipp: " + Stringifier.stringify(tipp.Tipp.Tippzahlen, " "));
            var p = a.evaluate(aus);
            if (a.IsWin(aus))
                Console.WriteLine("won");
            else
                Console.WriteLine("lost");

            foreach (var protocol in p) {
                Console.WriteLine("Parent: " + protocol.ProtocolType.ToString());
                foreach (var hit in protocol.Hits.OrderBy(x => x.Key))
                    Console.WriteLine("Hits: " + "Gk" + hit.Key + ": " + hit.Value);
            }
        }
Пример #2
0
        public void can_merge_Auftrag_with_multiple_Tippfelds()
        {
            var ausspielung = new Ausspielung(new[] { 1, 2, 3, 4, 5, 6 }, 49, "1234567", "234567", 7);

            sut = new Auftrag(new Normalschein(
                    new Normalfeld(1, 2),
                    new Normalfeld(1, 2, 3)));
            var protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.Count(), Is.EqualTo(1));
            Assert.That(protocols.First().ProtocolType, Is.EqualTo(SpielType.Lotto649));
            Assert.That(protocols.First().Hits.ContainsKey(8));
            Assert.That(protocols.First().Hits[8], Is.EqualTo(1));

            sut = new Auftrag(new Normalschein(
                    new Normalfeld(1, 2, 3),
                    new Normalfeld(1, 2, 3)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits[8], Is.EqualTo(2));

            sut = new Auftrag(new Normalschein(
                    new Normalfeld(1, 2, 3),
                    new Normalfeld(1, 2, 3, 4)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits[8], Is.EqualTo(1));
            Assert.That(protocols.First().Hits[6], Is.EqualTo(1));

            sut = new Auftrag(new Normalschein(
                    new Normalfeld(1, 2, 3, 4),
                    new Normalfeld(1, 2, 3)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits[8], Is.EqualTo(1));
            Assert.That(protocols.First().Hits[6], Is.EqualTo(1));

            sut = new Auftrag(new Normalschein(
                    new Normalfeld(1, 2, 3, 4, 5, 6),
                    new Normalfeld(1, 2, 3, 4),
                    new Normalfeld(1, 2, 3, 4, 5),
                    new Normalfeld(1, 2, 3)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits[8], Is.EqualTo(1));
            Assert.That(protocols.First().Hits[6], Is.EqualTo(1));
            Assert.That(protocols.First().Hits[4], Is.EqualTo(1));
            Assert.That(protocols.First().Hits[2], Is.EqualTo(1));

            sut = new Auftrag(new Normalschein(
                    new Normalfeld(1, 2, 3, 4, 5, 6),
                    new Normalfeld(1, 2, 3, 4, 49),
                    new Normalfeld(1, 2, 3, 4, 5, 49),
                    new Normalfeld(1, 2, 3, 49)) { Losnummer = "0000007" });
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits[7], Is.EqualTo(1));
            Assert.That(protocols.First().Hits[5], Is.EqualTo(1));
            Assert.That(protocols.First().Hits[3], Is.EqualTo(1));
            Assert.That(protocols.First().Hits[1], Is.EqualTo(1));

            sut = new Auftrag(new Normalschein(
            new Normalfeld(1, 2, 3, 4, 5, 6),
            new Normalfeld(1, 2, 3),
            new Normalfeld(1, 2, 3, 4, 5),
            new Normalfeld(1, 2, 3, 4, 49),
            new Normalfeld(1, 2, 3, 4, 5, 49),
            new Normalfeld(1, 2, 3, 4),
            new Normalfeld(1, 2, 3, 49)) { Losnummer = "0000007" });
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits.ContainsKey(1));
            Assert.That(protocols.First().Hits.ContainsKey(2), Is.False);
            Assert.That(protocols.First().Hits.ContainsKey(3));
            Assert.That(protocols.First().Hits.ContainsKey(4));
            Assert.That(protocols.First().Hits.ContainsKey(5));
            Assert.That(protocols.First().Hits.ContainsKey(6));
            Assert.That(protocols.First().Hits.ContainsKey(7));
            Assert.That(protocols.First().Hits.ContainsKey(8));

            sut = new Auftrag(new Normalschein(
            new Normalfeld(1, 2, 3, 4, 5, 6),
            new Normalfeld(1, 2, 3),
            new Normalfeld(1, 2, 3, 4, 5),
            new Normalfeld(1, 2, 3, 4, 49),
            new Normalfeld(1, 2, 3, 4, 5, 49),
            new Normalfeld(1, 2, 3, 4),
            new Normalfeld(1, 2, 3),
            new Normalfeld(1, 2, 3, 49)) { Losnummer = "0000007" });
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits.ContainsKey(1));
            Assert.That(protocols.First().Hits.ContainsKey(2), Is.False);
            Assert.That(protocols.First().Hits.ContainsKey(3));
            Assert.That(protocols.First().Hits.ContainsKey(4));
            Assert.That(protocols.First().Hits.ContainsKey(5));
            Assert.That(protocols.First().Hits.ContainsKey(6));
            Assert.That(protocols.First().Hits.ContainsKey(7));
            Assert.That(protocols.First().Hits[8], Is.EqualTo(2));

            sut = new Auftrag(new Systemschein(
                new Systemfeld(){SID = 13},
                new Systemfeld(){SID = 13},
                new Systemfeld(){SID = 13},
                new Systemfeld(){SID = 13}
                ));
        }
Пример #3
0
        public void can_merge_system_Auftrag()
        {
            var ausspielung = new Ausspielung(new[] { 1,9,20,29,36,44 }, 8, "0700630", "196540", 7);

            sut = new Auftrag(new Systemschein(
                new Systemfeld(1, 6, 7, 12, 13, 16, 22, 25, 40, 41, 43, 44, 45) { SID = 13 }, // 1,44
                new Systemfeld(1, 8, 9, 11, 14, 19, 29, 31, 36, 38, 39, 40, 46) { SID = 13 }, // 1,9,29,36-8
                new Systemfeld(5, 6, 7, 9, 13, 14, 17, 23, 24, 29, 35, 36, 48) { SID = 13 }, // 9,29,36
                new Systemfeld(9, 13, 16, 17, 20, 25, 27, 31, 33, 40, 43, 44, 49) { SID = 13 } // 9,20,44
                ));

            var protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits[5], Is.EqualTo(8));
            Assert.That(protocols.First().Hits[6], Is.EqualTo(28));
            Assert.That(protocols.First().Hits[7], Is.EqualTo(112));
            Assert.That(protocols.First().Hits[8], Is.EqualTo(464));
        }
Пример #4
0
        public void can_merge_normal_Auftrag()
        {
            var ausspielung = new Ausspielung(new[] { 6, 11, 14, 29, 30, 37 }, 19, "7188625", "074789", 5);

            sut = new Auftrag(new Systemschein(
                new Systemfeld(1,6,7,12,13,16,22,25,40,41,43,44,45) { SID = 13 }, // 6
                new Systemfeld(1,8,9,11,14,19,29,31,36,38,39,40,46) { SID = 13 }, // 11,14,29-19
                new Systemfeld(5,6,7,9,13,14,17,23,24,29,35,36,48) { SID = 13 }, // 6,14,29
                new Systemfeld(9,13,16,17,20,25,27,31,33,40,43,44,49) { SID = 13 }
                ));

            var protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits[7], Is.EqualTo(36));
            Assert.That(protocols.First().Hits[8], Is.EqualTo(204));
        }
Пример #5
0
        public void can_merge_Auftrag_with_Super6_Spiel77()
        {
            var ausspielung = new Ausspielung(new[] { 6, 11, 14, 29, 30, 37 }, 19, "0000005", "000005", 5);

            sut = new Auftrag(new Systemschein(
                new Systemfeld(6, 11, 14) { SID = 13 }
                ) { IsSpiel77 = true, IsSuper6 = true, Losnummer = "0000005" });

            var protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.Count(), Is.EqualTo(3));
        }
Пример #6
0
        public void can_merge_Auftrag_with_single_Tippfeld()
        {
            sut = new Auftrag(new Normalschein(new Normalfeld(1, 2, 3)));
            var ausspielung = new Ausspielung(new[] { 1, 2, 3, 4, 5, 6 }, 49, "1234567", "234567", 7);
            var protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.Count(), Is.EqualTo(1));
            Assert.That(protocols.First().ProtocolType, Is.EqualTo(SpielType.Lotto649));
            Assert.That(protocols.First().Hits.ContainsKey(8));

            sut = new Auftrag(new Normalschein(new Normalfeld(1, 2, 3, 49)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits.ContainsKey(7));

            sut = new Auftrag(new Normalschein(new Normalfeld(1, 2, 3, 4)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits.ContainsKey(6));

            sut = new Auftrag(new Normalschein(new Normalfeld(1, 2, 3, 4, 49)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits.ContainsKey(5));

            sut = new Auftrag(new Normalschein(new Normalfeld(1, 2, 3, 4, 5)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits.ContainsKey(4));

            sut = new Auftrag(new Normalschein(new Normalfeld(1, 2, 3, 4, 5, 49)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits.ContainsKey(3));

            sut = new Auftrag(new Normalschein(new Normalfeld(1, 2, 3, 4, 5, 6)));
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits.ContainsKey(2));

            sut = new Auftrag(new Normalschein(new Normalfeld(1, 2, 3, 4, 5, 6)) { Losnummer = "0000007" });
            protocols = sut.evaluate(ausspielung);
            Assert.That(protocols.First().Hits.ContainsKey(1));
        }