Пример #1
0
        /// <summary>
        ///     Parses a line following the ElectionFormat and returns an ElectionFormat object
        /// </summary>
        /// <param name="line">The line to parse</param>
        /// <param name="parser">The field parser to use</param>
        /// <returns>An ElectionFormat object containing the parsed values</returns>
        public ElectionFormat Parse(string line, FieldParser parser)
        {
            string[] fields          = parser.ParseLength(line, 7);
            int      year            = parser.ParseInt(fields[0], "Year");
            string   algorithmString = parser.ParseAlgorithmToString(fields[1], "Algorithm");
            double   firstDivisor    = parser.ParseDouble(fields[2], "FirstDivisor");
            double   threshold       = parser.ParseDouble(fields[3], "Threshold");
            double   areaFactor      = parser.ParseDouble(fields[4], "AreaFactor");
            int      seats           = parser.ParseInt(fields[5], "Seats");
            int      levelingSeats   = parser.ParseInt(fields[6], "LevelingSeats");

            return(new ElectionFormat
            {
                Year = year,
                AlgorithmString = algorithmString,
                FirstDivisor = firstDivisor,
                Threshold = threshold,
                AreaFactor = areaFactor,
                Seats = seats,
                LevelingSeats = levelingSeats
            });
        }