コード例 #1
0
        public static TwoLineElementsModel Parse(Queue <string> lines)
        {
            if (lines == null)
            {
                throw new ArgumentNullException("lines");
            }

            if (lines.Count < Convert.ToInt32(Properties.Resources.TLE_MIN_LINE_COUNT))
            {
                throw new ArgumentException("Lines count is to low");
            }

            //TLE could be 3 lines, first than is satellite name
            if (lines.Count > Convert.ToInt32(Properties.Resources.TLE_MAX_LINE_COUNT))
            {
                throw new ArgumentOutOfRangeException("lines has more than 3 positions");
            }

            TwoLineElementsModel tle = new TwoLineElementsModel();


            if (lines.Count > Convert.ToInt32(Properties.Resources.TLE_MIN_LINE_COUNT))
            {
                tle.Name = TleLine0Parser.Parse(lines.Dequeue());
            }

            tle.Line1 = TleLine1Parser.Parse(lines.Dequeue());
            tle.Line2 = TleLine2Parser.Parse(lines.Dequeue());

            return(tle);
        }
コード例 #2
0
        public void ValidParam()
        {
            //24 length
            var line = "1998-067PC              ";

            Assert.Equal("1998-067PC", TleLine0Parser.Parse(line));
        }
コード例 #3
0
 public void InvalidParam()
 {
     Assert.Throws <ArgumentNullException>(() => TleLine0Parser.Parse(""));
 }
コード例 #4
0
 public void ParamToLong()
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => TleLine0Parser.Parse("1998-067PC               "));
 }