protected virtual ValidationResult PopulateSettings(SettingsContainer settings) { var minPackageAge = DurationParser.Parse(MinimumPackageAge); if (!minPackageAge.HasValue) { return(ValidationResult.Failure($"Min package age '{MinimumPackageAge}' could not be parsed")); } settings.UserSettings.MinimumPackageAge = minPackageAge.Value; var regexIncludeValid = PopulatePackageIncludes(settings, Include); if (!regexIncludeValid.IsSuccess) { return(regexIncludeValid); } var regexExcludeValid = PopulatePackageExcludes(settings, Exclude); if (!regexExcludeValid.IsSuccess) { return(regexExcludeValid); } return(ValidationResult.Success); }
private void AssertSuccess(object durationToParse, object expectedDuration) { ValueParseResult parseResult = DurationParser.Parse(durationToParse); Assert.That(parseResult.Success, Is.True); Assert.That(parseResult.Value, Is.EqualTo(expectedDuration)); }
public void SpacingTest() { Assert.AreEqual(TimeSpan.FromDays(10) + TimeSpan.FromHours(5) + TimeSpan.FromSeconds(3), DurationParser.Parse("3s 5h 10days")); Assert.AreEqual(TimeSpan.FromDays(10) + TimeSpan.FromHours(5) + TimeSpan.FromSeconds(3), DurationParser.Parse("3s 5 hr 10 days ")); }
public void WeekTest() { Assert.AreEqual(TimeSpan.FromDays(10 * 7), DurationParser.Parse("10w")); Assert.AreEqual(TimeSpan.FromDays(1 * 7), DurationParser.Parse("1week")); Assert.AreEqual(TimeSpan.FromDays(50 * 7), DurationParser.Parse("50wk")); Assert.AreEqual(TimeSpan.FromDays(61 * 7), DurationParser.Parse("61weeks")); }
public void ZeroIsParsed() { // when you send a zero, no point in specifying the units var value = DurationParser.Parse("0"); Assert.That(value, Is.EqualTo(TimeSpan.Zero)); }
public void WeeksAreParsed(string input, int expectedWeeks) { var parsed = DurationParser.Parse(input); Assert.That(parsed, Is.Not.Null); Assert.That(parsed.Value, Is.EqualTo(TimeSpan.FromDays(expectedWeeks * 7))); }
private SettingsContainer MakeSettings() { var minPackageAge = DurationParser.Parse(MinimumPackageAge); if (!minPackageAge.HasValue) { minPackageAge = TimeSpan.Zero; Console.WriteLine($"Min package age '{MinimumPackageAge}' could not be parsed"); } var settings = new SettingsContainer { ModalSettings = new ModalSettings(), UserSettings = new UserSettings { AllowedChange = AllowedChange, NuGetSources = NuGetSources, MinimumPackageAge = minPackageAge.Value, PackageIncludes = SettingsParser.ParseRegex(Include, nameof(Include)), PackageExcludes = SettingsParser.ParseRegex(Exclude, nameof(Exclude)), } }; PopulateSettings(settings); return(settings); }
public void MinuteTest() { Assert.AreEqual(TimeSpan.FromMinutes(10), DurationParser.Parse("10m")); Assert.AreEqual(TimeSpan.FromMinutes(1), DurationParser.Parse("1min")); Assert.AreEqual(TimeSpan.FromMinutes(50), DurationParser.Parse("50mins")); Assert.AreEqual(TimeSpan.FromMinutes(898), DurationParser.Parse("898minute")); Assert.AreEqual(TimeSpan.FromMinutes(88), DurationParser.Parse("88minutes")); }
public void HourTest() { Assert.AreEqual(TimeSpan.FromHours(10), DurationParser.Parse("10h")); Assert.AreEqual(TimeSpan.FromHours(1), DurationParser.Parse("1hr")); Assert.AreEqual(TimeSpan.FromHours(50), DurationParser.Parse("50hour")); Assert.AreEqual(TimeSpan.FromHours(898), DurationParser.Parse("898hours")); Assert.AreEqual(TimeSpan.FromHours(88), DurationParser.Parse("88hrs")); }
private TimeSpan?ReadMinPackageAge() { const string defaultMinPackageAge = "7d"; var settingsFromFile = FileSettingsCache.Get(); var valueWithFallback = Concat.FirstValue(MinimumPackageAge, settingsFromFile.Age, defaultMinPackageAge); return(DurationParser.Parse(valueWithFallback)); }
public void SecondTest() { Assert.AreEqual(TimeSpan.FromSeconds(10), DurationParser.Parse("10s")); Assert.AreEqual(TimeSpan.FromSeconds(1), DurationParser.Parse("1sec")); Assert.AreEqual(TimeSpan.FromSeconds(50), DurationParser.Parse("50secs")); Assert.AreEqual(TimeSpan.FromSeconds(898), DurationParser.Parse("898second")); Assert.AreEqual(TimeSpan.FromSeconds(88), DurationParser.Parse("88seconds")); }
private void AssertFail(object durationToParse) { ValueParseResult parseResult = DurationParser.Parse(durationToParse); Assert.That(parseResult.Success, Is.False); Assert.That(parseResult.Value, Is.Null); Assert.That(parseResult.ErrorDetails, Is.Not.Empty); }
public void MonthTest() { // "about" 365 days in a year, though let some room slide for minor rounding errors const int marginOfErrorPerYears = 2; var a = DurationParser.Parse("24months").TotalDays; var b = TimeSpan.FromDays(365 * 2).TotalDays; Assert.IsTrue(Math.Abs(a - b) < (marginOfErrorPerYears * 2)); }
public void DurationParser_ConvertOveMinUnder60Mins_Success() { //Arrange var strDuration = "47.32"; var dParser = new DurationParser(); //Act var result = dParser.Parse(strDuration); //Assert Assert.AreEqual("47m 19s", result); }
public void DurationParser_ConvertOve60MinUnder24hr_Success() { //Arrange var strDuration = "1134.27"; var dParser = new DurationParser(); //Act var result = dParser.Parse(strDuration); //Assert Assert.AreEqual("18h 54m 16s", result); }
public void DurationParser_ConvertUnderMin_Success() { //Arrange var strDuration = "0.56"; var dParser = new DurationParser(); //Act var result = dParser.Parse(strDuration); //Assert Assert.AreEqual("34s", result); }
public void DurationParser_ConvertOver24hr_Success() { //Arrange var strDuration = "2456.48"; var dParser = new DurationParser(); //Act var result = dParser.Parse(strDuration); //Assert Assert.AreEqual("1d 16h 56m 28s", result); }
public void TestDurations(string str, int?seconds) { var x = new DurationParser(); var result = x.Parse(str); if (seconds == null) { Assert.IsNull(result); } else { Assert.AreEqual(TimeSpan.FromSeconds((double)seconds !), result); } }
public static SettingsContainer ParseToSettings(RawConfiguration settings) { var modalSettings = ReadModalSettings(settings); if (modalSettings == null) { return(null); } var authSettings = new GithubAuthSettings( EnsureTrailingSlash(settings.GithubApiEndpoint), settings.GithubToken); var minPackageAge = DurationParser.Parse(settings.MinPackageAge); if (!minPackageAge.HasValue) { minPackageAge = TimeSpan.Zero; Console.WriteLine($"Min package age '{settings.MinPackageAge}' could not be parsed"); } var userPrefs = new UserSettings { AllowedChange = settings.AllowedChange, ForkMode = settings.ForkMode, ReportMode = settings.ReportMode, MaxPullRequestsPerRepository = settings.MaxPullRequestsPerRepository, MaxRepositoriesChanged = settings.MaxRepositoriesChanged, NuGetSources = ReadNuGetSources(settings), PackageIncludes = ParseRegex(settings.Include, nameof(settings.Include)), PackageExcludes = ParseRegex(settings.Exclude, nameof(settings.Exclude)), MinimumPackageAge = minPackageAge.Value, Directory = settings.Dir }; return(new SettingsContainer { ModalSettings = modalSettings, GithubAuthSettings = authSettings, UserSettings = userPrefs }); }
public void OutOfRangeTest() { Assert.Throws <ArgumentOutOfRangeException>(() => DurationParser.Parse("1000000years")); }
public void DayTest() { Assert.AreEqual(TimeSpan.FromDays(10), DurationParser.Parse("10d")); Assert.AreEqual(TimeSpan.FromDays(1), DurationParser.Parse("1day")); Assert.AreEqual(TimeSpan.FromDays(50), DurationParser.Parse("50days")); }
public void UnknownUnitsIsNotParsed() { var value = DurationParser.Parse("37x"); Assert.That(value, Is.Null); }
public void MixTest4() { Assert.AreEqual(TimeSpan.FromMinutes(59) + TimeSpan.FromSeconds(60), DurationParser.Parse("1hr")); }
public void BadStringIsNotParsed() { var value = DurationParser.Parse("ghoti"); Assert.That(value, Is.Null); }
public void EmptyStringIsNotParsed() { var value = DurationParser.Parse(string.Empty); Assert.That(value, Is.Null); }
public void NullStringIsNotParsed() { var value = DurationParser.Parse(null); Assert.That(value, Is.Null); }
public void NegativeMixTest2() { Assert.AreEqual(TimeSpan.FromDays(-10) + TimeSpan.FromHours(5) + TimeSpan.FromSeconds(3), DurationParser.Parse("3s5h-10days")); }
public void NegativeMixTest3() { Assert.AreEqual(TimeSpan.FromMinutes(-10) + TimeSpan.FromSeconds(3), DurationParser.Parse("-10m3s")); }
public void NegativeMixTest1() { Assert.AreEqual(TimeSpan.FromDays(10) + TimeSpan.FromHours(5) + TimeSpan.FromSeconds(-3), DurationParser.Parse("10d5h-3s")); }