private static void DoSearchLargeList(SearchFunction fnSearch, int nItems)
        {
            List <SearchData> list = new List <SearchData>();

            for (int nItem = 0; nItem < nItems; ++nItem)
            {
                list.Add(new SearchData(100 * nItem, 0));
            }

            for (int i = 0; i < list.Count; ++i)
            {
                int nIndex;
                int nKey   = i * 100;
                int nCount = fnSearch(list, nKey, CompareItemToKey, out nIndex);
                Assert.AreEqual(1, nCount);
                Assert.AreEqual(i, nIndex);

                nCount = fnSearch(list, nKey - 20, CompareItemToKey, out nIndex);
                Assert.AreEqual(0, nCount);
                Assert.AreEqual(i, nIndex);

                nCount = fnSearch(list, nKey + 20, CompareItemToKey, out nIndex);
                Assert.AreEqual(0, nCount);
                Assert.AreEqual(i + 1, nIndex);
            }
        }
        private static void DoSearchLargeListWithMultiple(SearchFunction fnSearch)
        {
            int nIndex;
            List <SearchData> list = new List <SearchData>();

            list.Add(new SearchData(3, 1));
            list.Add(new SearchData(6, 1));
            list.Add(new SearchData(10, 1));
            list.Add(new SearchData(10, 1));
            list.Add(new SearchData(10, 1));
            list.Add(new SearchData(10, 1));
            list.Add(new SearchData(14, 1));
            list.Add(new SearchData(17, 1));
            list.Add(new SearchData(21, 1));
            int nCount = fnSearch(list, 10, CompareItemToKey, out nIndex);

            Assert.AreEqual(4, nCount);
            Assert.AreEqual(2, nIndex);

            nCount = fnSearch(list, 7, CompareItemToKey, out nIndex);
            Assert.AreEqual(0, nCount);
            Assert.AreEqual(2, nIndex);

            nCount = fnSearch(list, 12, CompareItemToKey, out nIndex);
            Assert.AreEqual(0, nCount);
            Assert.AreEqual(6, nIndex);
        }
        private static void DoSearchEmptyList(SearchFunction fnSearch)
        {
            var list   = new List <SearchData>();
            var nCount = fnSearch(list, 10, CompareItemToKey, out var nIndex);

            Assert.AreEqual(0, nCount);
            Assert.AreEqual(0, nIndex);
        }
        private static void DoSearchOneItemList(SearchFunction fnSearch, int nKey, int nExpectedCount, int nExpectedIndex)
        {
            var list = new List <SearchData>();

            list.Add(new SearchData(10, 2));
            var nCount = fnSearch(list, nKey, CompareItemToKey, out var nIndex);

            Assert.AreEqual(nExpectedCount, nCount);
            Assert.AreEqual(nExpectedIndex, nIndex);
        }
Beispiel #5
0
 public static void SetFinderSearchFunction(SearchFunction searchFunction)
 {
     if (SameThread())
     {
         Console.SetFinderSearchFunction(searchFunction);
     }
     else
     {
         EnqueueAction((() => Console.SetFinderSearchFunction(searchFunction)));
     }
 }
        public void ExecuteSearch(SearchFunction aSearchFunction)
        {
            lock (FListLock)
            {
                FSearching = aSearchFunction?.Invoke(FListView, FListViewCache);

                if (FSearching.HasValue && !FSearching.Value)
                {
                    FListView.Items.Clear();
                    foreach (ListViewItem it in FListViewCache.Values)
                    {
                        AddToCurrencyList(it);
                    }
                }
            }
        }
Beispiel #7
0
        public async Task SearchFunctionTest()
        {
            var searchInput = new SearchInput {
                Num = 15, Text = "is"
            };

            MultiItemOutput response;
            var             context = new TestLambdaContext();

            using (var bt = new BlockTelemeter("Test", _output.WriteLine, false))
            {
                var function = new SearchFunction();
                bt.Snap("Startup");

                response = await function.HandleAsync(searchInput, context);
            }

            Assert.NotNull(response?.Value);
            Assert.NotEmpty(response.Value);
        }
Beispiel #8
0
 public static void SetFinderSearchFunction(SearchFunction searchFunction)
 {
     if (SameThread())
         Console.SetFinderSearchFunction(searchFunction);
     else
         EnqueueAction(new Action(() => Console.SetFinderSearchFunction(searchFunction)));
 }
Beispiel #9
0
 public ValuesController()
 {
     searchFunction = new SearchFunction();
 }
Beispiel #10
0
 /// <summary>
 ///     Sets the function that is used by Gearset when a query is written to the
 ///     Finder by the user. It usually searches through your game objects and returns
 ///     a collection of the ones whose name or Type matches the query.
 ///     A search function receives a String and return IEnumerable (e.g. a List)
 /// </summary>
 public void SetFinderSearchFunction(SearchFunction searchFunction)
 {
     #if WINDOWS
     if (!Enabled)
         return;
     Finder.Config.SearchFunction = searchFunction;
     #endif
 }
		public SearchStrategy(string name, SearchFunction func) {
			Name = name;
			_func = func;
		}
 public ServiceDescriptorSearchOptions(SearchFunction search)
 {
     this.Search = search ?? throw new ArgumentNullException(nameof(search));
 }
 void SetFinderSearchFunction(SearchFunction searchFunction)
 {
 }
Beispiel #14
0
 void SetFinderSearchFunction(SearchFunction searchFunction)
 {
 }
Beispiel #15
0
 public static void SetFinderSearchFunction(SearchFunction searchFunction)
 {
     if (!_initialized)
         return;
     if (SameThread())
         Console.SetFinderSearchFunction(searchFunction);
     else
         EnqueueAction(() => Console.SetFinderSearchFunction(searchFunction));
 }
Beispiel #16
0
 public SearchStrategy(string name, SearchFunction func)
 {
     Name  = name;
     _func = func;
 }