コード例 #1
0
        public void GetElectionCommitteeNameTest()
        {
            Assert.AreEqual("Агинский Бурятский автономный округ, Агинская", TextProcessFunctions.GetElectionCommitteeName
                                (@"Агинский Бурятский автономный округ\Агинский Бурятский\Агинская\СИЗКСРФ", 2003));

            Assert.AreEqual("Агинский Бурятский автономный округ, Агинская", TextProcessFunctions.GetElectionCommitteeName
                                (@"Агинский Бурятский автономный округ\Агинская\СИЗКСРФ", 2007));
        }
コード例 #2
0
        public void NormalizeElectionCommitteeNameTest()
        {
            var textData = TextProcessFunctions.NormalizeElectionCommitteeName(@"ОИК №1\Адыгейская\СИЗКСРФ", 2016);

            Assert.AreEqual("Республика Адыгея (Адыгея), Адыгейская", textData.ElectionCommitteeName);
            Assert.AreEqual("Республика Адыгея (Адыгея)", textData.Region);
            Assert.AreEqual("<a href=\"../Files2016/Respublika_Adigeya_Adigeya_Adigejskaya.html\">Республика Адыгея (Адыгея), Адыгейская</a>", textData.HrefHtmlFile);
            Assert.AreEqual("Respublika_Adigeya_Adigeya_Adigejskaya", textData.Translit);
        }
コード例 #3
0
        public string CreateDiagram(FileInfo fi, string captionDiagram, bool overWrite)
        {
            var year     = TextProcessFunctions.GetYear(fi.Name);
            var location = TextProcessFunctions.GetElectionCommitteeName(fi.FullName, null, TextProcessFunctions.GetMapping());
            var picName  = $@"{fi.DirectoryName}\{TextProcessFunctions.Translit(location)}{year}.jpg";

            if (File.Exists(picName) && !overWrite)
            {
                return(picName);
            }

            return(_barChartDrawer.DrawDiagramForTxtData(DiagramDataCreator.Create(fi.FullName, picName, string.Format(captionDiagram, year, location), PartiesOrder)));
        }
コード例 #4
0
        public void TestGetLocation2016()
        {
            Assert.AreEqual("Архангельская область, Архангельск, Октябрьская",
                            TextProcessFunctions.GetElectionCommitteeName
                                (@"ResultsDuma\ОИК №72\Архангельск, Октябрьская\СИЗКСРФ\Архангельск, Октябрьская 2016.xls", null, TextProcessFunctions.GetMapping()));

            Assert.AreEqual("Кемеровская область, Кемеровский, Кемеровская",
                            TextProcessFunctions.GetElectionCommitteeName
                                (@"ResultsDuma\ОИК №101\Кемеровская\Кемеровская 2016.xls", null, TextProcessFunctions.GetMapping()));

            Assert.AreEqual("Кемеровская область, Прокопьевский, Кемеровская",
                            TextProcessFunctions.GetElectionCommitteeName
                                (@"ResultsDuma\ОИК №102\Кемеровская\Кемеровская 2016.xls", null, TextProcessFunctions.GetMapping()));
        }
コード例 #5
0
        public void TestGetLocation()
        {
            Assert.AreEqual("Агинский Бурятский автономный округ, Агинская", TextProcessFunctions.GetElectionCommitteeName
                                (@"ResultsDuma\Агинский Бурятский автономный округ\Агинский Бурятский\Агинская\СИЗКСРФ\Агинская 2003.xls"));

            Assert.AreEqual("Архангельская область, Архангельск, Октябрьская", TextProcessFunctions.GetElectionCommitteeName
                                (@"ResultsDuma\Архангельская область\Архангельский\Архангельск, Октябрьская\СИЗКСРФ\Архангельск, Октябрьская 2003.xls"));

            /////////////////////

            Assert.AreEqual("Камчатский край, Петропавловск-Камчатская городская (судовая)", TextProcessFunctions.GetElectionCommitteeName
                                (@"ResultsDuma\Камчатский край\Петропавловск-Камчатская городская (судовая)\СИЗКСРФ\петропавловск-камчатская городская (судовая) 2007.xls"));

            Assert.AreEqual("Территория за пределами РФ", TextProcessFunctions.GetElectionCommitteeName
                                (@"ResultsDuma\Территория за пределами РФ\СИЗКСРФ\Территория за пределами РФ 2007.xls"));

            ////////////////////

            Assert.AreEqual("Республика Северная Осетия - Алания, ТИК Пригородного района", TextProcessFunctions.GetElectionCommitteeName
                                (@"ResultsDuma\Республика Северная Осетия - Алания\ТИК Пригородного района\СИЗКСРФ\ТИК Пригородного района 2011.xls"));
        }
コード例 #6
0
 public void GetElectionCommitteeNameTest()
 {
     Assert.AreEqual("Иркутская область - Братский", TextProcessFunctions.GetElectionCommitteeName("<td valign=\"top\" width=\"45%\"><b>Наименование избирательной комиссии</b></td><td>Иркутская область &ndash; Братский</td>"));
 }
コード例 #7
0
        public void GetMappingTest()
        {
            var dictionary = TextProcessFunctions.GetMapping();

            Assert.AreEqual("Алтайский край - Бийский", dictionary["ОИК №41"]);
        }
コード例 #8
0
 public void TestGetUikNumber()
 {
     Assert.AreEqual("517", TextProcessFunctions.GetUikNumber("УИК №517"));
     Assert.AreEqual("517", TextProcessFunctions.GetUikNumber("УИК 517"));
     Assert.AreEqual("517", TextProcessFunctions.GetUikNumber("УИК517"));
 }
コード例 #9
0
 public void TestNormalizedPlace()
 {
     Assert.AreEqual("Алтайский край, Рубцовская городская", TextProcessFunctions.GetNormalizedPlace("Алтайский край - Рубцовская, Рубцовская городская"));
     Assert.AreEqual("Город Москва, район Орехово-Борисово Южное", TextProcessFunctions.GetNormalizedPlace("Город Москва - Царицынская, район Орехово-Борисово Южное"));
     Assert.AreEqual("Город Санкт-Петербург, Московская №19", TextProcessFunctions.GetNormalizedPlace("Город Санкт-Петербург - Западная, Территориальная избирательная комиссия №19"));
 }
コード例 #10
0
 public void TestGetRegion()
 {
     Assert.AreEqual("Алтайский край", TextProcessFunctions.GetRegion(@"Алтайский край - Рубцовская\Рубцовская городская\СИЗКСРФ"));
     Assert.AreEqual("Город Москва", TextProcessFunctions.GetRegion(@"Город Москва - Царицынская\район Орехово-Борисово Южное\СИЗКСРФ"));
     Assert.AreEqual("Город Санкт-Петербург", TextProcessFunctions.GetRegion(@"Город Санкт-Петербург - Западная\Ломоносовская N 9\СИЗКСРФ"));
 }
コード例 #11
0
 public void TestTrasnlit()
 {
     Assert.AreEqual("PetropavlovskKamchatskaya_gorodskaya_sudovaya_Kamchatskij_kraj_2007",
                     TextProcessFunctions.Translit(
                         "Петропавловск-Камчатская городская (судовая) Камчатский край 2007"));
 }
コード例 #12
0
 public void TestGetLocationGlobalLocal()
 {
     Assert.AreEqual("Ханты-Мансийский автономный округ, Сургутская", TextProcessFunctions.GetElectionCommitteeName
                         (@"ResultsDuma\Ханты-Мансийский автономный округ\Ханты-Мансийский\Сургутская\сургутская 2003.html"));
 }
コード例 #13
0
 public void NormalizeElectionCommitteeName(int year)
 {
     TextData = TextProcessFunctions.NormalizeElectionCommitteeName(ElectionCommittee, year);
 }
コード例 #14
0
        private void SaveDictionary()
        {
            string[][] translitted;


            ////new FooData() { RussianShort = "АПР", Color = "white", IsMain = false, RussianLong = "АПР" , Result =0},
            ////new FooData() { RussianShort = "РППиПСС", Color = "white", IsMain = false, RussianLong = "РППиПСС" , Result =0},
            ////new FooData() { RussianShort = "Яблоко", Color = "white", IsMain = false, RussianLong = "Яблоко" , Result =0},
            ////new FooData() { RussianShort = "СПС", Color = "white", IsMain = false, RussianLong = "СПС" , Result =0},

            if (_electionYear.ElectionType == ElectionType.Duma)
            {
                translitted = new[]
                {
                    new[] { "Единая Россия", "ER" },
                    new[] { "КПРФ", "KPRF" },
                    new[] { "Яблоко", "YA" },
                    new[] { "Родина", "Rodina" },
                    new[] { "Справедливая Россия", "SR" },
                    new[] { "ЛДПР", "LDPR" },
                    new[] { "АПР", "APR" },
                    new[] { "РППиПСС", "RPPiPSS" },
                    new[] { "СПС", "SPS" },
                };
            }
            else
            {
                var people = _dictionary.Values.First().partiesData.Keys.ToArray();
                translitted = new string[people.Length][];
                for (int i = 0; i < translitted.Length; i++)
                {
                    translitted[i]    = new string[2];
                    translitted[i][0] = people[i];
                    translitted[i][1] = TextProcessFunctions.Translit(people[i]);
                }
            }

            var elections = new List <Election>();

            foreach (var kvp in _dictionary)
            {
                var electionCommitteeResults = kvp.Value;
                int idx = kvp.Key.LastIndexOf('\\');
                var electionCommitteeName = kvp.Key.Substring(0, idx);
                var election = new Election();
                election.ElectionCommittee      = electionCommitteeName;
                election.Number                 = electionCommitteeResults.NumberOfLocalElectionCommitees;
                election.NumberOfElectorsInList = electionCommitteeResults.NumberOfElectorsInList;
                election.NumberOfInvalidBallot  = electionCommitteeResults.NumberOfInvalidBallot;
                election.NumberOfValidBallot    = electionCommitteeResults.NumberOfValidBallot;
                election.Presence               = Math.Round(electionCommitteeResults.Presence, 2);
                election.Href         = electionCommitteeResults.Href;
                election.AllPresences = electionCommitteeResults.AllPresences;
                election.AllNumberOfElectorsInList = electionCommitteeResults.AllNumberOfElectorsInList.ToArray();
                var uiksNumbers = electionCommitteeResults.uiks.Select(TextProcessFunctions.GetUikNumber).ToArray();
                Debug.Assert(uiksNumbers.Length == election.Number, "Wrong numbers");
                election.Uiks = string.Join(",", uiksNumbers);

                var foos = new List <Foo>();
                for (int i = 0; i < translitted.Length; i++)
                {
                    var    shortPartyName = translitted[i][1];
                    string partyName      = translitted[i][0];
                    if (!electionCommitteeResults.partiesData.ContainsKey(partyName))
                    {
                        continue;
                    }
                    var electionCommittee = electionCommitteeResults.partiesData[partyName];
                    var foo = new Foo()
                    {
                        Name      = shortPartyName,
                        Max       = electionCommittee.MaxPercent,
                        Min       = electionCommittee.MinPercent,
                        Value     = electionCommittee.Percent,
                        Number    = electionCommittee.Number,
                        AllValues = electionCommittee.LocalElectionCommittees.Select(l => l.Percent).ToArray()
                    };
                    foos.Add(foo);
                }
                election.Foos = foos.OrderBy(f => f.Name).ToList();
                elections.Add(election);
            }

            var xmlSerializer = new XmlSerializer(typeof(List <Election>));

            using (var sw = new StreamWriter(_fileName))
            {
                xmlSerializer.Serialize(sw, elections);
            }
        }