private static void TestSearchRange() { SearchRange instance = new SearchRange(); Console.WriteLine(instance.Solution2(new[] { 5, 7, 7, 8, 8, 10 }, 8)); Console.WriteLine(instance.Solution2(new[] { 5, 7, 7, 8, 8, 10 }, 6)); }
public void PassingDatesToOtherConstructors() { //Arrange var date01 = new DateTime(2000, 1, 1); var date02 = new DateTime(2000, 3, 1); const string otherDateFormat = "dd-MM-yyyy"; //Act var searchRange1 = new SearchRange(date01, date02, DateOption.Months); var searchRange2 = new SearchRange(date01, date02, otherDateFormat); var searchRange3 = new SearchRange(date01, date02, DateOption.Months, otherDateFormat); //Assert Assert.That(searchRange1.Items, Is.Not.Empty.And.Count.EqualTo(3)); Assert.That(searchRange1.Items[0], Is.EqualTo("2000-01-01")); Assert.That(searchRange1.Items[2], Is.EqualTo("2000-03-01")); Assert.That(searchRange2.Items, Is.Not.Empty.And.Count.EqualTo(61)); Assert.That(searchRange2.Items[0], Is.EqualTo("01-01-2000")); Assert.That(searchRange2.Items[1], Is.EqualTo("02-01-2000")); Assert.That(searchRange2.Items[60], Is.EqualTo("01-03-2000")); Assert.That(searchRange3.Items, Is.Not.Empty.And.Count.EqualTo(3)); Assert.That(searchRange3.Items[0], Is.EqualTo("01-01-2000")); Assert.That(searchRange3.Items[2], Is.EqualTo("01-03-2000")); }
public string CheckNeed(bool isSave, SearchRange sr, bool isDS, HitRule hr, bool isHE, AfterDeal ad) { if (isDS) { return("查找Prefab里的资源依赖暂时不支持深度查找"); } return(""); }
public bool Equals(SearchRange <T> other) { if (!this.Min.Equals(other.Min) || !this.Max.Equals(other.Max)) { return(false); } return(true); }
public async Task<List<ImageLink>> GetImgurLinksFromSubReddit(Reddit reddit, string sub, SearchRange searchRange, Sorting sortOrder, string outputPath, CancellationToken token) { token.ThrowIfCancellationRequested(); Subreddit subreddit = null; var links = new List<ImageLink>(); if (!string.IsNullOrWhiteSpace(sub)) { try { subreddit = reddit.GetSubreddit(sub); OutputLine($"{subreddit.Name}: Begining Search..."); } catch (Exception e) { OutputLine($"Error connecting to reddit: {e.Message}"); return links; } } if (_filter == null) _filter = string.Empty; var searchTo = DateTime.Now; var searchFrom = DateTime.Now; switch (searchRange) { case SearchRange.Today: searchFrom = searchFrom.AddDays(-1); break; case SearchRange.Week: searchFrom = searchFrom.AddDays(-7); break; case SearchRange.Fortnight: searchFrom = searchFrom.AddDays(-14); break; case SearchRange.Month: searchFrom = searchFrom.AddMonths(-1); break; case SearchRange.ThreeMonths: searchFrom = searchFrom.AddMonths(-3); break; case SearchRange.SixMonths: searchFrom = searchFrom.AddMonths(-6); break; } var search = !string.IsNullOrWhiteSpace(sub) ? searchRange == SearchRange.AllTime ? subreddit?.Search(_filter) : subreddit?.Search(searchFrom, searchTo, sortOrder) : reddit.Search<Post>(_filter); token.ThrowIfCancellationRequested(); var listings = search?.GetEnumerator(); links = CombineLinkLists(await GetImagesFromListing(reddit, listings, outputPath, token), links); return links; }
public string CheckNeed(bool isSave, SearchRange sr, bool isDS, HitRule hr, bool isHE, AfterDeal ad) { if (!isSave) { return("需要启用保存prefab功能"); } return(""); }
public void PassingLettersEnumToConstructor() { //Arrange //Act var searchRange = new SearchRange(SearchRangeOption.EnLetters); //Assert Assert.That(searchRange.Items, Is.EquivalentTo(Global.Letters).And.Count.EqualTo(Global.Letters.Count)); }
public void CommitFinder_EndingOnlyRange_ReturnsCorrectEntires() { var range = new SearchRange(); range.Newest = "261dab6".Some(); var commits = CommitFinder.Parse(TestDataLocator.GetPath(), range); Assert.AreEqual(20, commits.Count()); }
public void Remove(SearchRange item) { var tempItem = _searchRanges.SingleOrDefault(x => x.Value.Equals(item)); if (tempItem.Value == null) return; if (_searchRanges.Remove(tempItem.Key)) { ReorderDictionary(); } }
private void VerifyMetadataSearchResult(List <FindMetadataResult> response, RecordingInformation recording, SearchRange recordingRange, bool ascendingOrder) { Assert(response != null, "No metadata was found", "Check that metadata list is not empty"); Assert(response.FirstOrDefault(r => r.RecordingToken != recording.RecordingToken) == null, "GetMetadataSearchResultsResponse contains results with invalid Recording token", "Check that recording token is valid for GetMetadataSearchResultsResponse"); bool ok = true; StringBuilder logger = new StringBuilder("Following tracks are invalid" + Environment.NewLine); foreach (var result in response) { if (recording.Track.FirstOrDefault(t => t.TrackToken == result.TrackToken) == null) { ok = false; logger.Append(string.Format(" TrackToken '{0}' is invalid{1}", result.TrackToken, Environment.NewLine)); } if (result.Time < recordingRange.Start) { ok = false; logger.Append( string.Format(" Track (TrackToken = '{0}') time (t = '{1}') is outside recording range{2}", result.TrackToken, result.Time, Environment.NewLine)); } } Assert(ok, logger.ToStringTrimNewLine(), "Check that tracks are valid for GetMetadataSearchResultsResponse"); Func <System.DateTime, System.DateTime, bool> condition = (t1, t2) => { return(t1 <= t2); }; if (ascendingOrder) { condition = (t1, t2) => { return(t1 >= t2); } } ; //bool ok = true; for (int i = 0; i < response.Count - 1; i++) { if (condition(response[i].Time, response[i + 1].Time)) { ok = false; break; } } Assert(ok, "DUT didn't return metadata search results in right order", "Check that DUT return metadata search results in right order"); }
public void AddingRangesShouldWorkFromCollectionInitializer() { //Arrange var testSearch = new SearchRange(); //Act var searchDict = new SearchRangeDictionary { testSearch }; //Assert AddingTest(searchDict, testSearch); }
public string CheckNeed(bool isSave, SearchRange sr, bool isDS, HitRule hr, bool isHE, AfterDeal ad) { if (!isDS) { return("需要启用深度查找功能"); } if (isHE == false) { return("需要启用命中判断"); } return(""); }
protected SearchRange DefineSearchRangeOutside(RecordingInformation recording) { SearchRange range = DefineSearchRange(recording); TimeSpan timeSpan = (range.End - range.Start); int delta = 1 + (int)timeSpan.TotalSeconds / 10; range.Start = range.Start.AddSeconds(-delta); range.End = range.End.AddSeconds(delta); return(range); }
public void InitView(CallForPaperType type, SearchRange range, Int32 idCommunity = -1) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { LoadAvailableCall(type, range, idCommunity); } View.isInitialized = true; }
public void PassingPolishLettersEnumToConstructor() { //Arrange var tempLetters = Global.Letters; tempLetters.AddRange(Global.PolishLetters); //Act var searchRange = new SearchRange(SearchRangeOption.EnPlusPlLetters); //Assert Assert.That(searchRange.Items, Is.EquivalentTo(tempLetters).And.Count.EqualTo(tempLetters.Count)); }
public void CommitFinder_StartingOnlyRange_ReturnsCorrectEntires() { // This is brittle if we add more tests data var range = new SearchRange(); range.Oldest = "261dab6".Some(); var commits = CommitFinder.Parse(TestDataLocator.GetPath(), range); Assert.AreEqual(27, commits.Count()); range.IncludeOldest = false; commits = CommitFinder.Parse(TestDataLocator.GetPath(), range); Assert.AreEqual(26, commits.Count()); }
public void AddingRangesShouldWorkFromMethod() { //Arrange var testSearch = new SearchRange(); // ReSharper disable UseObjectOrCollectionInitializer var searchDict = new SearchRangeDictionary(); // ReSharper restore UseObjectOrCollectionInitializer //Act searchDict.Add(testSearch); //Assert AddingTest(searchDict, testSearch); }
public void PassingAsciiCharsEnumToConstructor() { //Arrange //Act var searchRange = new SearchRange(SearchRangeOption.AsciiChars); //Assert foreach (var ch in searchRange.Items.SelectMany(x => x)) { Assert.That(char.IsControl(ch), Is.False); Assert.That(char.IsWhiteSpace(ch), Is.False); } Assert.That(searchRange.Items, Has.Count.EqualTo(94)); }
protected SearchRange DefineSearchRangeInside(RecordingInformation recording) { SearchRange range = DefineSearchRange(recording); TimeSpan timeSpan = (range.End - range.Start); double delta = (int)timeSpan.TotalMilliseconds / 10; range.Start = range.Start.AddMilliseconds(delta); range.End = range.End.AddMilliseconds(-delta); range.Earliest = range.Start; range.Latest = range.End; return(range); }
public void FindPtzPositionsSearchWithMaxMatchesTest() { string searchToken = string.Empty; SearchState state = SearchState.Completed; RunTest( () => { string keepAlive = string.Format("PT{0}S", _searchKeepAlive); RecordingInformation recording = FindRecordingForTest(); SearchRange range = DefineSearchRange(recording); System.DateTime start = range.Start; System.DateTime end = range.End; List <FindPTZPositionResult> results; PTZPositionFilter filter = new PTZPositionFilter(); filter.MinPosition = new PTZVector(); filter.MinPosition.PanTilt = new Vector2D() { x = -1, y = -1 }; filter.MaxPosition = new PTZVector(); filter.MaxPosition.PanTilt = new Vector2D() { x = 1, y = 1 }; SearchScope scope = new SearchScope(); scope.IncludedRecordings = new string[] { recording.RecordingToken }; searchToken = FindPTZPosition(start, end, scope, filter, 1, keepAlive); results = GetAllPtzSearchResults(searchToken, filter, null, null, "PT5S", out state); Assert(results != null && results.Count > 0, "No PTZ positions found", "Check that PTZ positions list is not empty"); Assert(results.Count == 1, string.Format("{0} PTZ positions found", results.Count), "Check that maxMatches parameter is not exceeded"); }, () => { if (state != SearchState.Completed) { ReleaseSearch(searchToken, _searchTimeout); } }); }
public void PassingAsciiCharPolishLettersToConstructor() { //Arrange var tempLetters = new List <string>(new SearchRange(SearchRangeOption.AsciiChars).Items); tempLetters.AddRange(Global.PolishLetters); tempLetters.AddRange(Global.PolishLetters.ConvertAll(x => x.ToUpper())); //Act var searchRange = new SearchRange(SearchRangeOption.AsciiPlusPlChars); //Assert Assert.That(searchRange.Items, Is.EquivalentTo(tempLetters).And.Count.EqualTo(tempLetters.Count)); }
public void CommitFinder_SubsetRange_ReturnsCorrectEntires() { var range = new SearchRange(); range.Oldest = "4bb85fb".Some(); range.Newest = "261dab6".Some(); var commits = CommitFinder.Parse(TestDataLocator.GetPath(), range); Assert.AreEqual(6, commits.Count()); range.IncludeOldest = false; commits = CommitFinder.Parse(TestDataLocator.GetPath(), range); Assert.AreEqual(5, commits.Count()); }
public void PassingSpecialAllowedNumberTypeToConstructor() { //Arrange //Act var searchRange1 = new SearchRange(1, 2000, 1, NumberOption.WithZeros); var searchRange2 = new SearchRange(2000, NumberOption.WithZeros); //Assert Assert.That(searchRange1.Items[0], Is.EqualTo("0001")); Assert.That(searchRange1.Items[99], Is.EqualTo("0100")); Assert.That(searchRange1.Items[1999], Is.EqualTo("2000")); Assert.That(searchRange2.Items[0], Is.EqualTo("0000")); Assert.That(searchRange2.Items[100], Is.EqualTo("0100")); Assert.That(searchRange2.Items[2000], Is.EqualTo("2000")); }
public void LoadAvailableCall(CallForPaperType type, SearchRange range, Int32 idCommunity = -1) { View.CurrentIdItem = 0; View.AllowPreview = false; List <dtoCallToFind> items = Service.GetCallsForProfileInsert(type, range, idCommunity); View.AllowViewList = (items.Count > 1); if (items.Count == 1) { SelectCall(items[0].Id); } else { View.LoadCalls(items); } }
public void PassingDatesWithDateFormatToConstructor() { //Arrange var date01 = new DateTime(2000, 1, 1); var date02 = new DateTime(2000, 2, 1); const string otherDateFormat = "dd-MM-yyyy"; //Act var searchRange = new SearchRange(date01, date02, 1, DateOption.Days, otherDateFormat); //Assert Assert.That(searchRange.Items, Is.Not.Empty.And.Count.EqualTo(32)); Assert.That(searchRange.Items[0], Is.EqualTo("01-01-2000")); Assert.That(searchRange.Items[1], Is.EqualTo("02-01-2000")); Assert.That(searchRange.Items[31], Is.EqualTo("01-02-2000")); }
public string CheckNeed(bool isSave, SearchRange sr, bool isDS, HitRule hr, bool isHE, AfterDeal ad) { if (!isSave) { return("需要启用保存prefab功能"); } if (!isDS) { return("需要启用深度查找功能"); } if (hr != HitRule.含有控件 || isHE == false) { return("需要启用命中Text组件或TextMeshProUGUI组件的判断"); } return(""); }
public void BugCollector_SmokeTest() { var options = new SearchOptions() { Bugzilla = BugzillaLevel.Private }; var range = new SearchRange { Oldest = "98fff31".Some(), Newest = "6c280ad".Some() }; var commits = CommitFinder.Parse(TestDataLocator.GetPath(), range); var parsedCommits = CommitParser.Parse(commits, options).ToList(); var bugCollection = BugCollector.ClassifyCommits(parsedCommits, options); Assert.AreEqual(2, bugCollection.Bugs.Count); Assert.AreEqual(3, bugCollection.PotentialBugs.Count); }
public void BugCollector_HandlesDuplicateBugEntries() { // One commit with certain, one without. Only one copy in final output var options = new SearchOptions() { Bugzilla = BugzillaLevel.Private }; var range = new SearchRange { Oldest = "ad26139".Some(), Newest = "6c280ad".Some() }; var commits = CommitFinder.Parse(TestDataLocator.GetPath(), range); var parsedCommits = CommitParser.Parse(commits, options).ToList(); var bugCollection = BugCollector.ClassifyCommits(parsedCommits, new SearchOptions()); Assert.AreEqual(1, bugCollection.Bugs.Count); Assert.AreEqual(0, bugCollection.PotentialBugs.Count); }
/** * Given a sorted list and value, returns the index of the greatest value in sorted_list that is * less than value. Ex: List( { 0, 1, 4, 6, 7 } ) Value(5) returns 2, which is the index of value 4. * If value is less than sorted[0], -1 is returned. If value is greater than sorted[end], sorted.Count-1 * is returned. If an exact match is found, the index prior to that match is returned. */ public static int NearestIndexPriorToValue <T>(IList <T> sorted_list, T value) where T : System.IComparable <T> { int count = sorted_list.Count; if (count < 1) { return(-1); } SearchRange range = new SearchRange(0, count - 1); if (value.CompareTo(sorted_list[0]) < 0) { return(-1); } if (value.CompareTo(sorted_list[count - 1]) > 0) { return(count - 1); } while (range.Valid()) { if (sorted_list[range.Center()].CompareTo(value) > 0) { // sb.AppendLine(sorted_list[range.Center()] + " > " + value + " [" + range.begin + ", " + range.end +"] -> [" + range.begin + ", " + range.Center() + "]"); range.end = range.Center(); } else { // sb.AppendLine(sorted_list[range.Center()] + " < " + value + " [" + range.begin + ", " + range.end +"] -> [" + range.Center() + ", " + range.end + "]"); range.begin = range.Center(); if (sorted_list[range.begin + 1].CompareTo(value) >= 0) { return(range.begin); } } } return(0); }
public void PassingManyTextsToConstructor() { //Arrange var texts = new[] { "text01", "text02", "text03", "text04", "text05" }; //Act var searchRange1 = new SearchRange(texts); var searchRange2 = new SearchRange(texts[0], texts[1]); //Assert Assert.That(searchRange1.Items, Is.Not.Empty.And.Count.EqualTo(5)); Assert.That(searchRange1.Items[0], Is.EqualTo(texts[0])); Assert.That(searchRange1.Items[1], Is.EqualTo(texts[1])); Assert.That(searchRange1.Items[2], Is.EqualTo(texts[2])); Assert.That(searchRange1.Items[3], Is.EqualTo(texts[3])); Assert.That(searchRange1.Items[4], Is.EqualTo(texts[4])); Assert.That(searchRange2.Items, Is.Not.Empty.And.Count.EqualTo(2)); Assert.That(searchRange2.Items[0], Is.EqualTo(texts[0])); Assert.That(searchRange2.Items[1], Is.EqualTo(texts[1])); }
public void PassingAllowedNumbersToConstructor() { //Arrange //Act var searchRange1 = new SearchRange(2000); var searchRange2 = new SearchRange(20, 5000); var searchRange3 = new SearchRange(10, 20, 2); //Assert Assert.That(searchRange1.Items[0], Is.EqualTo("0")); Assert.That(searchRange1.Items[100], Is.EqualTo("100")); Assert.That(searchRange1.Items[2000], Is.EqualTo("2000")); Assert.That(searchRange2.Items[0], Is.EqualTo("20")); Assert.That(searchRange2.Items[100], Is.EqualTo("120")); Assert.That(searchRange2.Items[4980], Is.EqualTo("5000")); Assert.That(searchRange3.Items[0], Is.EqualTo("10")); Assert.That(searchRange3.Items[2], Is.EqualTo("14")); Assert.That(searchRange3.Items[5], Is.EqualTo("20")); }
public void ItemsListModifications() { //Arrange var itemsList = new List <string> { "test01", "test02" }; //Act var searchRange = new SearchRange("test03") { Items = itemsList }; searchRange.Items.Add("test03"); //Assert Assert.That(searchRange.Items, Is.Not.Empty.And.Count.EqualTo(3)); Assert.That(searchRange.Items[0], Is.EqualTo(itemsList[0])); Assert.That(searchRange.Items[1], Is.EqualTo(itemsList[1])); Assert.That(searchRange.Items[2], Is.EqualTo("test03")); }
public void PassingDatesToConstructor() { //Arrange var date01 = new DateTime(2000, 1, 1); var date02 = new DateTime(2000, 2, 1); var date03 = new DateTime(2000, 1, 20); var date04 = new DateTime(2001, 12, 1); var date05 = new DateTime(2000, 5, 14); var date06 = new DateTime(2012, 2, 12); //Act var searchRange1 = new SearchRange(date01, date02); var searchRange2 = new SearchRange(date01, date02, 2); var searchRange3 = new SearchRange(date03, date04, 2, DateOption.Months); var searchRange4 = new SearchRange(date05, date06, 2, DateOption.Years); //Assert Assert.That(searchRange1.Items, Is.Not.Empty.And.Count.EqualTo(32)); Assert.That(searchRange1.Items[0], Is.EqualTo("2000-01-01")); Assert.That(searchRange1.Items[1], Is.EqualTo("2000-01-02")); Assert.That(searchRange1.Items[31], Is.EqualTo("2000-02-01")); Assert.That(searchRange2.Items, Is.Not.Empty.And.Count.EqualTo(16)); Assert.That(searchRange2.Items[0], Is.EqualTo("2000-01-01")); Assert.That(searchRange2.Items[1], Is.EqualTo("2000-01-03")); Assert.That(searchRange2.Items[15], Is.EqualTo("2000-01-31")); Assert.That(searchRange3.Items, Is.Not.Empty.And.Count.EqualTo(12)); Assert.That(searchRange3.Items[0], Is.EqualTo("2000-01-01")); Assert.That(searchRange3.Items[1], Is.EqualTo("2000-03-01")); Assert.That(searchRange3.Items[11], Is.EqualTo("2001-11-01")); Assert.That(searchRange4.Items, Is.Not.Empty.And.Count.EqualTo(7)); Assert.That(searchRange4.Items[0], Is.EqualTo("2000-01-01")); Assert.That(searchRange4.Items[1], Is.EqualTo("2002-01-01")); Assert.That(searchRange4.Items[6], Is.EqualTo("2012-01-01")); }
public void FindEventsSearchWithMaxMatchesTest() { string searchToken = string.Empty; SearchState state = SearchState.Completed; RunTest( () => { string keepAlive = string.Format("PT{0}S", _searchKeepAlive); RecordingInformation recording = FindRecordingForTest(); SearchRange range = DefineSearchRange(recording); DateTime start = range.Start; DateTime end = range.End; List <FindEventResult> results; EventFilter filter = new EventFilter(); SearchScope scope = new SearchScope(); scope.IncludedRecordings = new string[] { recording.RecordingToken }; searchToken = FindEvents(scope, filter, start, end, false, 1, keepAlive); results = GetAllEventsSearchResults(searchToken, null, null, "PT5S", out state); Assert(results != null && results.Count > 0, "No events found", "Check that events list is not empty"); Assert(results.Count == 1, string.Format("{0} events found", results.Count), "Check that maxMatches parameter is not exceeded"); }, () => { if (state != SearchState.Completed) { EndSearch(searchToken); } }); }
public async Task<Tuple<string, string>> ConnectToSearch(HttpClient client, Uri plusBaseUrl, string keyword, SearchTarget target, SearchRange range, string searchTicket, string atVal) { keyword = keyword.Replace("\\", "\\\\"); keyword = keyword.Replace("\"", "\\\""); var query = searchTicket == null ? new Dictionary<string, string>() { { "at", atVal }, { "srchrp", string.Format("[[\"{0}\",{1},2,[{2}]]]", keyword, (int)target, (int)range) } } : new Dictionary<string, string>() { { "at", atVal }, { "srchrp", string.Format("[[\"{0}\",{1},2,[{2}]],null,[\"{3}\"]]", keyword, (int)target, (int)range, searchTicket) } }; var jsonTxt = ApiAccessorUtility.ConvertIntoValidJson( await PostStringAsync(client, new Uri(plusBaseUrl, "_/s/query?rt=j"), query)); var json = JToken.Parse(jsonTxt); searchTicket = (string)json[0][1][1][1][2]; return Tuple.Create(jsonTxt, searchTicket); }
private static void AddingTest(SearchRangeDictionary searchDict, SearchRange testSearch) { Assert.That(searchDict.Count, Is.EqualTo(1)); Assert.That(searchDict[0], Is.EqualTo(testSearch)); }
public void Add(SearchRange item) { _searchRanges.Add(_searchRanges.Count, item); }
public static bool InRangeProtein(this ICaloriesProvider product, SearchRange range) { return product.InRangeProtein(range.MinValue, range.MaxValue); }
public static bool InRangeCarbohydrate(this ICaloriesProvider product, SearchRange range) { return product.InRangeCarbohydrate(range.MinValue, range.MaxValue); }
public void RemoveNotExistingSearchRangeShouldDoNothing() { //Arrange var notExistingSearchRange = new SearchRange(); var existingSearchRange1 = new SearchRange(); var existingSearchRange2 = new SearchRange(); var searchDict1 = new SearchRangeDictionary { existingSearchRange1, existingSearchRange2 }; var searchDict2 = new SearchRangeDictionary { existingSearchRange1, existingSearchRange2 }; //Act //Assert Assert.DoesNotThrow(() => searchDict1.Remove(notExistingSearchRange)); Assert.That(searchDict1[0], Is.EqualTo(existingSearchRange1)); Assert.That(searchDict1[1], Is.EqualTo(existingSearchRange2)); Assert.That(searchDict1.Count, Is.EqualTo(2)); Assert.DoesNotThrow(() => searchDict2.Remove(80)); Assert.That(searchDict2[0], Is.EqualTo(existingSearchRange1)); Assert.That(searchDict2[1], Is.EqualTo(existingSearchRange2)); Assert.That(searchDict2.Count, Is.EqualTo(2)); }