protected internal override PuzzleState popFrontier()
        {
            //remove a state from the top of the fringe so that it can be searched.
            PuzzleState lState = Frontier.RemoveFirst();

            //add it to the list of searched states so that duplicates are recognised.
            Searched.AddLast(lState);

            return(lState);
        }
Example #2
0
 private void Button_Click(object sender, RoutedEventArgs e)
 {
     if (searchBox.Text == null)
     {
         Searched?.Invoke(this, new SearchEventArgs(string.Empty));
     }
     else
     {
         Searched?.Invoke(this, new SearchEventArgs(searchBox.Text));
     }
 }
Example #3
0
 public Entry <TK> Search(TK key)
 {
     Searched.Add(key);
     if (Inserted.ContainsKey(key) && !Deleted.Contains(key))
     {
         return(new Entry <TK> {
             Key = key, Pointer = Inserted[key]
         });
     }
     return(null);
 }
Example #4
0
        protected internal override PuzzleState popFrontier()
        {
            //remove an item from the fringe to be searched
            PuzzleState thisState = Frontier.First.Value;

            Frontier.RemoveFirst();
            //Add it to the list of searched states, so that it isn't searched again
            Searched.AddLast(thisState);

            return(thisState);
        }
        private void handleSearch()
        {
            if (Name.hasErrors())
            {
                return;
            }
            var terms = new SearchTerms(Name.Value, null, null, 0, new string[] { });

            Result <SongModel> res = Utility.attemptSearch(terms);

            Searched?.Invoke(this, res);
        }
Example #6
0
 /// <summary>
 /// Initialing all international languages.
 /// <br/>throw exception ,if languageInfo has initialed.
 /// </summary>
 /// <param name="_json">json info</param>
 public void Initialing(JsonElement _json)
 {
     if (LanguageInfo.Count > 0)
     {
         throw new Exception("LanguageInfo has initialed.");
     }
     LanguageInfo[nameof(Master)]      = new Master(_json.GetProperty(nameof(Master)));
     LanguageInfo[nameof(Index)]       = new Index(_json.GetProperty(nameof(Index)));
     LanguageInfo[nameof(Searched)]    = new Searched(_json.GetProperty(nameof(Searched)));
     LanguageInfo[nameof(Article)]     = new Article(_json.GetProperty(nameof(Article)));
     LanguageInfo[nameof(Profile)]     = new Profile(_json.GetProperty(nameof(Profile)));
     LanguageInfo[nameof(EditArticle)] = new EditArticle(_json.GetProperty(nameof(EditArticle)));
     LanguageInfo[nameof(EditProfile)] = new EditProfile(_json.GetProperty(nameof(EditProfile)));
 }
 public override bool addToFrontier(PuzzleState aState)
 {
     //We only want to add the new state to the fringe if it doesn't exist
     // in the fringe or the searched list.
     if (Searched.Contains(aState) || Frontier.Contains(aState))
     {
         return(false);
     }
     else
     {
         Frontier.AddLast(aState);
         return(true);
     }
 }
Example #8
0
        public virtual IEnumerable <ISearchable> Search(string filter, int maxResults = SearchDefaults.DefaultResults)
        {
            Initialize();

            var results = new List <ISearchable>();

            lock (_lockObject)
            {
                try
                {
                    Searching.SafeInvoke(this, new SearchEventArgs(filter, results));

                    if (filter.IsValidOrcSearchFilter())
                    {
                        using (var analyzer = new StandardAnalyzer(LuceneDefaults.Version))
                        {
                            var queryAsText = _searchQueryService.GetSearchQuery(filter, GetSearchableMetadata());

                            var parser = new QueryParser(LuceneDefaults.Version, string.Empty, analyzer);
                            var query  = parser.Parse(queryAsText);

                            using (var searcher = new IndexSearcher(_indexDirectory))
                            {
                                var search = searcher.Search(query, maxResults);
                                foreach (var scoreDoc in search.ScoreDocs)
                                {
                                    var score = scoreDoc.Score;
                                    var docId = scoreDoc.Doc;
                                    var doc   = searcher.Doc(docId);

                                    var index = int.Parse(doc.Get(IndexId));
                                    results.Add(_indexedObjects[index]);
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Log.Error(ex, "An error occurred while searching, returning default reuslts");
                }
                finally
                {
                    Searched.SafeInvoke(this, new SearchEventArgs(filter, results));
                }
            }

            return(results);
        }
Example #9
0
 public override bool addToFrontier(PuzzleState aState)
 {
     //if this state has been found before,
     if (Searched.Contains(aState) || Frontier.Contains(aState))
     {
         //discard it
         return(false);
     }
     else
     {
         //else put this item on the end of the queue;
         Frontier.AddLast(aState);
         return(true);
     }
 }
 public override String ToString()
 {
     if (!this.IsNull())
     {
         return("ID " + ID + " (length: " + IDActualLength + ") " +
                "VIN " + VIN + " (length: " + VINActualLength + ") " +
                "repaired: " + RepairingsCount
                + ", drive weight: " + DriveWeight
                + ", searched by police: " + Searched.ToString()
                + ", STK end date: " + STKEndDate.ToString()
                + ", EK end date: " + EKEndDate.ToString());
     }
     else
     {
         return("");
     }
 }
        void _searchButton_Click(object sender, EventArgs e)
        {
            var hits = new List <string>();

            for (int row = 0; row < _grid.Rows.Count; row++)
            {
                for (int col = 0; col < _grid.Columns.Count; col++)
                {
                    var cellText = _grid[col, row].Value?.ToString();
                    if (cellText != null && cellText.Contains(_searchTextBox.Text))
                    {
                        hits.Add($"{Text}({row},{col}) : {cellText}");
                    }
                }
            }
            Searched?.Invoke(this, new SearchEventArgs {
                SearchResult = hits.ToArray()
            });
        }
Example #12
0
        private void searchBox_KeyDown(object sender, KeyEventArgs e)
        {
            TextBox tb = sender as TextBox;

            if (tb.IsFocused)
            {
                if (e.Key == Key.Enter)
                {
                    if (searchBox.Text == null)
                    {
                        Searched?.Invoke(this, new SearchEventArgs(string.Empty));
                    }
                    else
                    {
                        Searched?.Invoke(this, new SearchEventArgs(searchBox.Text));
                    }
                    btn.Focus();
                }
            }
        }
        public override Direction[] Solve(Maze aMaze)
        {
            //ensure variable cost mode is on
            SearchMethod.VariableCost = true;

            AddToFrontier(aMaze.StartState);

            while (!Frontier.Empty())
            {
                //Pop frontier state into curState
                MazeState curState = Frontier.Pop();
                Searched.Add(curState);

                //check if curState is a goalState
                //using a loop for each of the varient goal states listed
                for (int i = 0; i < aMaze.GoalStates.Length; i++)
                {
                    if (Maze.AreEqual(curState.State, aMaze.GoalStates[i].State))
                    {
                        Maze.OutputState(curState.State);
                        aMaze.FinalPathCost = curState.Cost;
                        Console.WriteLine($"Path cost: {aMaze.FinalPathCost}");
                        iterationCount++;
                        return(curState.GetPathFromParent());
                    }
                }

                //get all possible new states from curState
                List <MazeState> newStates = curState.CreatePossibleMoves();

                foreach (MazeState s in newStates)
                {
                    AddToFrontier(s);
                }
                iterationCount++;

                Frontier.SortByCost();
            }

            return(null);
        }
        private void SearchButton_Click(object sender, RoutedEventArgs e)
        {
            if (CustNameTextBox.Text == "" && CustSurnameTextBox.Text == "")
            {
                displayList = DB.GetListOfCustomers(); UpdateCustomersView();
            }
            else
            {
                List <Customer> ToSearch = DB.GetListOfCustomers();
                List <Customer> Searched = new List <Customer>();

                if (CustNameTextBox.Text != "")
                {
                    foreach (Customer customer in ToSearch)
                    {
                        if (customer.getFirstName().ToLower() == CustNameTextBox.Text.ToLower())
                        {
                            Searched.Add(customer);
                        }
                    }

                    ToSearch = Searched;
                    Searched = new List <Customer>();
                }

                if (CustSurnameTextBox.Text != "")
                {
                    foreach (Customer customer in ToSearch)
                    {
                        if (customer.getSurname().ToLower() == CustSurnameTextBox.Text.ToLower())
                        {
                            Searched.Add(customer);
                        }
                    }
                }

                displayList = Searched;
                UpdateCustomersView();
            }
        }
Example #15
0
        /// <summary>
        /// Déclenche l'événement <see cref="Searched"/>
        /// </summary>
        protected virtual void OnSearched(OperationEventArgs operationEventArgs)
        {
            if (operationEventArgs != null && !operationEventArgs.Succeed)
            {
                IsSearching = false;
                IsBusy      = false;
                // TODO : ManageException
                //ManageException(operationEventArgs.Error, Resources.Error_Searching);
            }

            IsSearching = false;
            IsBusy      = false;
            SetFocus();

            if (NavigateAutoIfOnlyOneItem && operationEventArgs.Succeed && Items.Count == 1)
            {
                CurrentItem = Items.First();
                DetailCommand.Execute();
            }

            Searched?.Invoke(this, operationEventArgs);
        }
Example #16
0
        public SearchBox(string placeholder = string.Empty)
        {
            InnerElement      = TextBox(_("tss-searchbox tss-fontsize-small tss-fontweight-regular", type: "text", placeholder: placeholder));
            _icon             = Span(_("las la-search"));
            _iconContainer    = Div(_("tss-searchbox-icon"), _icon);
            _paddingContainer = Div(_("tss-searchbox-padding"));
            _container        = Div(_("tss-searchbox-container"), _iconContainer, InnerElement, _paddingContainer);

            AttachChange();
            AttachInput();
            AttachFocus();
            AttachBlur();
            AttachKeys();

            OnKeyPress((s, e) =>
            {
                if (e.key == "Enter")
                {
                    Searched?.Invoke(this, InnerElement.value);
                }
            });
        }
        public override Direction[] Solve(Maze aMaze)
        {
            //push the StartState to the frontier
            AddToFrontier(aMaze.StartState);

            while (!Frontier.Empty())
            {
                //Pop frontier state into curState
                MazeState curState = Frontier.Dequeue();
                Searched.Add(curState);

                //check if curState is a goalState
                //using a loop for each of the varient goal states listed
                for (int i = 0; i < aMaze.GoalStates.Length; i++)
                {
                    if (Maze.AreEqual(curState.State, aMaze.GoalStates[i].State))
                    {
                        Maze.OutputState(curState.State);
                        aMaze.FinalPathCost = curState.Cost;
                        Console.WriteLine($"Path cost: {aMaze.FinalPathCost}");
                        iterationCount++;
                        return(curState.GetPathFromParent());
                    }
                }

                //get all possible new states from curState
                List <MazeState> newStates = curState.CreatePossibleMoves();
                newStates.Reverse(); //Reverse elements to ensure priority is U > L > D > R

                foreach (MazeState s in newStates)
                {
                    AddToFrontier(s);
                }
                iterationCount++;
            }

            return(null);
        }
Example #18
0
 public void OnSearched()
 {
     Searched?.Invoke();
 }
        public virtual IEnumerable <ISearchable> Search(string filter, int maxResults = SearchDefaults.DefaultResults)
        {
            Initialize();

            var results = new List <ISearchable>();

            lock (_lockObject)
            {
                try
                {
                    Searching.SafeInvoke(this, new SearchEventArgs(filter, results));

                    Query finalQuery = null;

                    // Note: There are two issues with using regex here
                    //       1. Lucene uses lower case interpretation of each string for indexing.
                    //          That means in regular expression we can use only lower case characters
                    //       2. escape sequences do not work. Not sure why
                    //
                    //       In order to fix (1), we have to force Lucene to index differently. Probably we need to have two
                    //       versions if indeces. One for regular search and another for regex
                    //var regexString = filter.ExtractRegexString();
                    //if (!string.IsNullOrWhiteSpace(regexString))
                    //{
                    //    var searchableMetadatas = GetSearchableMetadata();

                    //    var booleanQuery = new BooleanQuery();
                    //    foreach (var searchableMetadata in searchableMetadatas)
                    //    {
                    //        var query = new RegexQuery(new Term(searchableMetadata.SearchName, regexString));
                    //        var booleanClause = new BooleanClause(query, Occur.SHOULD);

                    //        booleanQuery.Add(booleanClause);
                    //    }

                    //    if (booleanQuery.Any())
                    //    {
                    //        finalQuery = booleanQuery;
                    //    }
                    //}

                    // ReSharper disable once ConditionIsAlwaysTrueOrFalse
                    if (finalQuery == null && filter.IsValidOrcSearchFilter())
                    {
                        using (var analyzer = new StandardAnalyzer(LuceneDefaults.Version))
                        {
                            var queryAsText = _searchQueryService.GetSearchQuery(filter, GetSearchableMetadata());

                            var parser = new QueryParser(LuceneDefaults.Version, string.Empty, analyzer);
                            finalQuery = parser.Parse(queryAsText);
                        }
                    }

                    if (finalQuery != null)
                    {
                        using (var searcher = new IndexSearcher(_indexDirectory))
                        {
                            var search = searcher.Search(finalQuery, maxResults);
                            foreach (var scoreDoc in search.ScoreDocs)
                            {
                                var score = scoreDoc.Score;
                                var docId = scoreDoc.Doc;
                                var doc   = searcher.Doc(docId);

                                var index = int.Parse(doc.Get(IndexId));
                                results.Add(_indexedObjects[index]);
                            }
                        }
                    }
                }
                catch (ParseException ex)
                {
                    Log.Warning(ex, "Failed to parse search pattern");
                }
                catch (Exception ex)
                {
                    Log.Error(ex, "An error occurred while searching, returning default results");
                }
                finally
                {
                    Searched.SafeInvoke(this, new SearchEventArgs(filter, results));
                }
            }

            return(results);
        }
Example #20
0
        public void TestGetMethods()
        {
            var _client = new Mock <Amadeus>();
            var _params = Params.with("airline", "1X");

            // Prepare a plural response
            JArray jsonArray = new JArray();

            jsonArray.Add(new JObject());
            jsonArray.Add(new JObject());
            var _multiResponse = new Mock <Response>();

            _multiResponse.Setup(m => m.parsed).Returns(true);
            _multiResponse.Setup(m => m.data).Returns(jsonArray);
            _multiResponse.Setup(m => m.dataString).Returns(jsonArray.ToString());

            // Prepare a single response
            JObject jsonObject = new JObject();

            jsonObject.Add("foo", "bar");
            var _singleResponse = new Mock <Response>();

            _singleResponse.Setup(m => m.parsed).Returns(true);
            _singleResponse.Setup(m => m.data).Returns(jsonObject);
            _singleResponse.Setup(m => m.dataString).Returns(jsonObject.ToString());

            try
            {
                // Testing CheckinLinks
                _client.Setup(m => m.get("/v2/reference-data/urls/checkin-links", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v2/reference-data/urls/checkin-links", _params)).Returns(_multiResponse.Object);
                CheckinLinks checkinLinks = new CheckinLinks(_client.Object);
                Assert.IsNotNull(checkinLinks);
                Assert.IsNotNull(checkinLinks.get(_params));
                Assert.IsTrue(checkinLinks.get().Length == 2);

                // Testing location search
                _client.Setup(m => m.get("/v1/reference-data/locations", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/reference-data/locations", _params)).Returns(_multiResponse.Object);
                Locations locations = new Locations(_client.Object);
                Assert.IsNotNull(locations);
                Assert.IsNotNull(locations.get(_params));
                Assert.IsTrue(locations.get().Length == 2);

                // Testing airport search
                _client.Setup(m => m.get("/v1/reference-data/locations/airports", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/reference-data/locations/airports", _params)).Returns(_multiResponse.Object);
                Airports airports = new Airports(_client.Object);
                Assert.IsNotNull(airports);
                Assert.IsNotNull(airports.get(_params));
                Assert.IsTrue(airports.get().Length == 2);

                // Testing fetching a single location
                _client.Setup(m => m.get("/v1/reference-data/locations/ALHR", null)).Returns(_singleResponse.Object);
                _client.Setup(m => m.get("/v1/reference-data/locations/ALHR", _params)).Returns(_singleResponse.Object);
                Location location = new Location(_client.Object, "ALHR");
                Assert.IsNotNull(location);
                Assert.IsNotNull(location.get(_params));

                // Testing airlines search
                _client.Setup(m => m.get("/v1/reference-data/airlines", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/reference-data/airlines", _params)).Returns(_multiResponse.Object);
                Airlines airlines = new Airlines(_client.Object);
                Assert.IsNotNull(airlines);
                Assert.IsNotNull(airlines.get(_params));
                Assert.IsTrue(airlines.get().Length == 2);

                // Testing traveled stats
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/traveled", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/traveled", _params)).Returns(_multiResponse.Object);
                Traveled traveled = new Traveled(_client.Object);
                Assert.IsNotNull(traveled);
                Assert.IsNotNull(traveled.get(_params));
                Assert.IsTrue(traveled.get().Length == 2);

                // Testing booked stats
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/booked", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/booked", _params)).Returns(_multiResponse.Object);
                Booked booked = new Booked(_client.Object);
                Assert.IsNotNull(booked);
                Assert.IsNotNull(booked.get(_params));
                Assert.IsTrue(booked.get().Length == 2);

                // Testing busiest traveling period
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/busiest-period", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/busiest-period", _params)).Returns(_multiResponse.Object);
                BusiestPeriod busiestPeriod = new BusiestPeriod(_client.Object);
                Assert.IsNotNull(busiestPeriod);
                Assert.IsNotNull(busiestPeriod.get(_params));
                Assert.IsTrue(busiestPeriod.get().Length == 2);

                // Testing most searched destinations
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/searched", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/searched", _params)).Returns(_multiResponse.Object);
                Searched searched = new Searched(_client.Object);
                Assert.IsNotNull(searched);
                Assert.IsNotNull(searched.get(_params));
                Assert.IsTrue(searched.get().Length == 2);

                // Testing searched stats
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/searched/by-destination", null)).Returns(_singleResponse.Object);
                _client.Setup(m => m.get("/v1/travel/analytics/air-traffic/searched/by-destination", _params)).Returns(_singleResponse.Object);
                SearchedByDestination searchesByDestination = new SearchedByDestination(_client.Object);
                Assert.IsNotNull(searchesByDestination);
                Assert.IsNotNull(searchesByDestination.get(_params));

                // Testing most searched destinations
                _client.Setup(m => m.get("/v1/shopping/flight-dates", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/shopping/flight-dates", _params)).Returns(_multiResponse.Object);
                FlightDates flightDates = new FlightDates(_client.Object);
                Assert.IsNotNull(flightDates);
                Assert.IsNotNull(flightDates.get(_params));
                Assert.IsTrue(flightDates.get().Length == 2);

                // Testing flight destination search
                _client.Setup(m => m.get("/v1/shopping/flight-destinations", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/shopping/flight-destinations", _params)).Returns(_multiResponse.Object);
                FlightDestinations flightDestinations = new FlightDestinations(_client.Object);
                Assert.IsNotNull(flightDestinations);
                Assert.IsNotNull(flightDestinations.get(_params));
                Assert.IsTrue(flightDestinations.get().Length == 2);

                // Testing flight offer search
                _client.Setup(m => m.get("/v1/shopping/flight-offers", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v1/shopping/flight-offers", _params)).Returns(_multiResponse.Object);
                FlightOffers flightOffers = new FlightOffers(_client.Object);
                Assert.IsNotNull(flightOffers);
                Assert.IsNotNull(flightOffers.get(_params));
                Assert.IsTrue(flightOffers.get().Length == 2);

                // Testing hotel offer search
                _client.Setup(m => m.get("/v2/shopping/hotel-offers", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v2/shopping/hotel-offers", _params)).Returns(_multiResponse.Object);
                HotelOffers hotelOffers = new HotelOffers(_client.Object);
                Assert.IsNotNull(hotelOffers);
                Assert.IsNotNull(hotelOffers.get(_params));
                Assert.IsTrue(hotelOffers.get().Length == 2);

                // Testing hotel offer search for a hotel
                _client.Setup(m => m.get("/v2/shopping/hotel-offers/by-hotel", null)).Returns(_multiResponse.Object);
                _client.Setup(m => m.get("/v2/shopping/hotel-offers/by-hotel", _params)).Returns(_multiResponse.Object);
                HotelOffersByHotel hotelOffersByHotel = new HotelOffersByHotel(_client.Object);
                Assert.IsNotNull(hotelOffersByHotel);
                Assert.IsNotNull(hotelOffersByHotel.get(_params));
                Assert.IsTrue(hotelOffersByHotel.get().Length == 2);

                // Test fetching a specific offer
                _client.Setup(m => m.get("/v2/shopping/hotel-offers/XXX", null)).Returns(_singleResponse.Object);
                _client.Setup(m => m.get("/v2/shopping/hotel-offers/XXX", _params)).Returns(_singleResponse.Object);
                HotelOffer hotelOffer = new HotelOffer(_client.Object, "XXX");
                Assert.IsNotNull(hotelOffer);
                Assert.IsNotNull(hotelOffer.get(_params));
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Assert.Fail();
            }
        }
 protected virtual void OnSearched(SearchedEventArgs e)
 {
     Searched?.Invoke(this, e);
 }