示例#1
0
        public void NumberOfElectorsInList2012()
        {
            var dir = Path.GetDirectoryName(this.GetType().Assembly.Location);

            var electionsLast     = ProcessData.GetElectionDataWithNormalizedPlace(dir + @"..\..\..\..\Elections\ElectionInfoPresident\ElectionInfoPresident2012.xml");
            var electionsByRegion = electionsLast
                                    .GroupBy(kvp => kvp.Value.TextData.Region, kvp => kvp.Value)
                                    .ToDictionary(g => g.Key, g => g.ToList());
            var foo = "Putin";

            Assert.AreEqual(1994310, SortByDelta.NumberVotedFor(electionsByRegion, "Город Москва", foo));

            Assert.AreEqual(7309869, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Город Москва"));
            Assert.AreEqual(5779495, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Московская область"));
            Assert.AreEqual(3849426, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Город Санкт-Петербург"));
            Assert.AreEqual(3803307, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Краснодарский край"));
            Assert.AreEqual(3527808, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Свердловская область"));
            Assert.AreEqual(3315673, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Ростовская область"));
            Assert.AreEqual(3014076, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Республика Башкортостан"));
            Assert.AreEqual(2866307, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Республика Татарстан (Татарстан)"));
            Assert.AreEqual(2777766, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Нижегородская область"));
            Assert.AreEqual(2757879, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Челябинская область"));

            foreach (var regionPair in electionsByRegion)
            {
                //Trace.WriteLine(regionPair.Key);
            }

            Assert.AreEqual(85, electionsByRegion.Count);
        }
示例#2
0
        public void NumberOfElectorsInList2016()
        {
            var dir = Path.GetDirectoryName(this.GetType().Assembly.Location);

            var electionsLast     = ProcessData.GetElectionDataWithNormalizedPlace(dir + @"..\..\..\..\Elections\ElectionInfoDuma\ElectionInfoDuma2016.xml");
            var electionsByRegion = electionsLast
                                    .GroupBy(kvp => kvp.Value.TextData.Region, kvp => kvp.Value)
                                    .ToDictionary(g => g.Key, g => g.ToList());

            Assert.AreEqual(7452834, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Город Москва"));
            Assert.AreEqual(5649321, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Московская область"));
            Assert.AreEqual(3835562, SortByDelta.NumberOfElectorsInList(electionsByRegion, "Город Санкт-Петербург"));

            foreach (var regionPair in electionsByRegion)
            {
                //Trace.WriteLine(regionPair.Key);
            }

            Assert.AreEqual(85, electionsByRegion.Count);
        }
示例#3
0
        private static void Main(string[] args)
        {
            switch (args[0])
            {
            case "1":
                new Download().GetHtmlFiles(args[1]);     //1 2018
                break;

            case "2":
                new Download().GetXlsFiles(args[1]);     //2 2016
                break;

            case "3":     //3 2016
                using (var excellExtracter = new ExcellExtracter())
                    excellExtracter.ExportXls(args[1]);
                break;

            case "4":
                new FinalXmlCreator().Start(args[1]);     //4 2016
                break;

            case "5":
                new BarChartPreparer(false).PrepareDrawAllDiagrams(Data.Core.Consts.Duma
                                                                   .Union(Data.Core.Consts.President).ToArray());
                break;

            case "6":
            {
                var sortByDelta = new SortByDelta();
                sortByDelta.StartDominantForIks(new[]
                    {
                        Consts.ElectionYear2018,
                        Consts.ElectionYear2016,
                        Consts.ElectionYear2012,
                        Consts.ElectionYear2011,
                        Consts.ElectionYear2008,
                        Consts.ElectionYear2007,
                        Consts.ElectionYear2004,
                        Consts.ElectionYear2003
                    });
                sortByDelta.StartDominantForRegions(new[]
                    {
                        Consts.ElectionYear2018,
                        Consts.ElectionYear2016,
                        Consts.ElectionYear2012,
                        Consts.ElectionYear2011,
                        Consts.ElectionYear2008,
                        Consts.ElectionYear2007,
                        Consts.ElectionYear2004,
                        Consts.ElectionYear2003
                    });
                break;
            }

            case "7":
            {
                var sbMain     = Html.GenerateHtmlMainTop();
                var sbGraphics = new StringBuilder();

                bool needOutput = true;

                Pair <string, string> res = null;

                var stopwatch = new Stopwatch();
                stopwatch.Start();

                var so = new SortByDelta();

                //2018
                res = so.Start(needOutput,
                               new[]
                    {
                        Consts.ElectionYear2004, Consts.ElectionYear2008, Consts.ElectionYear2012,
                        Consts.ElectionYear2018
                    },
                               Consts.ElectionYear2012, true);
                //res = new SortByDelta().Start(needOutput, new[] { Consts.ElectionYear2018 },null, true);
                sbMain.Append(res.First);
                sbGraphics.Append(res.Second);

                //2016
                res = so.Start(needOutput,
                               new[]
                    {
                        Consts.ElectionYear2003, Consts.ElectionYear2007, Consts.ElectionYear2011,
                        Consts.ElectionYear2016
                    },
                               Consts.ElectionYear2011, true);
                //res = new SortByDelta().Start(needOutput, new[] { Consts.ElectionYear2016 },null, true);
                sbMain.Append(res.First);
                sbGraphics.Append(res.Second);

                //2012
                res = so.Start(needOutput,
                               new[] { Consts.ElectionYear2004, Consts.ElectionYear2008, Consts.ElectionYear2012 },
                               Consts.ElectionYear2004, true);
                sbMain.Append(res.First);
                sbGraphics.Append(res.Second);

                //2011
                res = so.Start(needOutput, new[] { Consts.ElectionYear2007, Consts.ElectionYear2011 },
                               Consts.ElectionYear2007, true);
                sbMain.Append(res.First);
                sbGraphics.Append(res.Second);

                //2008
                res = so.Start(needOutput, new[] { Consts.ElectionYear2004, Consts.ElectionYear2008 }, null, false);
                sbMain.Append(res.First);
                sbGraphics.Append(res.Second);

                //2007
                res = so.Start(needOutput, new[] { Consts.ElectionYear2007 }, null, false);
                sbMain.Append(res.First);
                sbGraphics.Append(res.Second);

                //2004
                res = so.Start(needOutput, new[] { Consts.ElectionYear2004 }, null, false);
                sbMain.Append(res.First);
                sbGraphics.Append(res.Second);

                //2003
                res = so.Start(needOutput, new[] { Consts.ElectionYear2003 }, null, false);
                sbMain.Append(res.First);
                sbGraphics.Append(res.Second);

                Html.GenerateResult(Consts.UpdatePath, sbMain, sbGraphics);

                stopwatch.Stop();
                Trace.WriteLine(String.Format("Generated HTML-s {0}", stopwatch.Elapsed));
            }
            break;
            }
        }