コード例 #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
ファイル: _Auftrag.cs プロジェクト: bjornebjornson/LottoNh2
        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
ファイル: _Auftrag.cs プロジェクト: bjornebjornson/LottoNh2
        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
ファイル: _Auftrag.cs プロジェクト: bjornebjornson/LottoNh2
        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
ファイル: _Auftrag.cs プロジェクト: bjornebjornson/LottoNh2
        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
ファイル: _Auftrag.cs プロジェクト: bjornebjornson/LottoNh2
        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));
        }