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); }
public void ValidParam() { //24 length var line = "1998-067PC "; Assert.Equal("1998-067PC", TleLine0Parser.Parse(line)); }
public void InvalidParam() { Assert.Throws <ArgumentNullException>(() => TleLine0Parser.Parse("")); }
public void ParamToLong() { Assert.Throws <ArgumentOutOfRangeException>(() => TleLine0Parser.Parse("1998-067PC ")); }