public MissionVersion GetVersion(string mission) { try { var versionStart = GetVersionStart(mission); var versionEnd = Regex.Match(mission, @"(\.[^\.]*)\.pbo", RegexOptions.IgnoreCase).Index; var version = mission.Substring(versionStart, versionEnd - versionStart); if (!Regex.IsMatch(version, @"^[vV][\d\._]+$")) { throw new ArgumentException("Retrieved version didn't match regex"); } return(_versionFactory.GetMissionVersion(version, _missionMissionVersionComparer)); } catch (Exception e) { throw new ArgumentException(nameof(mission), e); } }
private MissionVersion GetMissionVersion(string version) { return(_versionFactory.GetMissionVersion(version, _sut)); }