public void TestSearchPersonsWithWarningsAndErrors() { GedcomxPersonSearchQueryBuilder query = new GedcomxPersonSearchQueryBuilder() .Param("givenNameMisspelled", "Israel"); var state = collection.SearchForPersons(query); Assert.IsTrue(state.Warnings.Count > 0); }
public void TestSearchPersons() { GedcomxPersonSearchQueryBuilder query = new GedcomxPersonSearchQueryBuilder() .MotherGivenName("Clarissa") .FatherSurname("Heaton") .MotherSurname("Hoyt") .Surname("Heaton") .GivenName("Israel") .FatherGivenName("Jonathan"); var state = collection.SearchForPersons(query); Assert.DoesNotThrow(() => state.IfSuccessful()); }
public void TestReadNextPageOfSearchResults() { GedcomxPersonSearchQueryBuilder query = new GedcomxPersonSearchQueryBuilder() .Name("John Smith") .BirthDate("1 January 1900") .FatherName("Peter Smith"); PersonSearchResultsState results = collection.SearchForPersons(query); var state = (PersonSearchResultsState)results.ReadNextPage(); Assert.DoesNotThrow(() => state.IfSuccessful()); PersonState person = state.ReadPerson(results.Results.Entries.FirstOrDefault()); Assert.IsNotNull(person); Assert.DoesNotThrow(() => person.IfSuccessful()); }
public void TestReadMatchScoresForPersons() { var query = new GedcomxPersonSearchQueryBuilder() .GivenName("GedcomX") .Surname("User") .Gender("Male") .BirthDate("June 1800") .BirthPlace("Provo, Utah, Utah, United States") .DeathDate("July 14, 1900") .DeathPlace("Provo, Utah, Utah, United States"); var state = tree.SearchForPersonMatches(query); Assert.DoesNotThrow(() => state.IfSuccessful()); Assert.IsNotNull(state.Results); Assert.IsNotNull(state.Results.Entries); Assert.Greater(state.Results.Entries.Count, 0); Assert.Greater(state.Results.Entries[0].Score, 0); }
private void btnSearch_Click(object sender, EventArgs e) { //Remember cursor and change to wait-cursor. var cursorState = Cursor; Cursor = Cursors.WaitCursor; lblErrorMessage.Text = "No Error."; try { //Put together a search query. GedcomxPersonSearchQueryBuilder query = new GedcomxPersonSearchQueryBuilder() //Set all on the form available Parameter for query. //Note: This is just a sample of available Parameters. .GivenName(txtGivenName.Text) .Surname(txtSurname.Text) .BirthDate(txtBirthDate.Text) .FatherGivenName(txtFatherGivenName.Text) .FatherSurname(txtFatherSurname.Text) .FatherBirthDate(txtFatherBirthDate.Text) .MotherGivenName(txtMotherGivenName.Text) .MotherSurname(txtMotherSurname.Text) .MotherBirthDate(txtMotherBirthDate.Text); //Search the collection. PersonSearchResultsState resultsSearchPersons = FamilyTree.SearchForPersons(query); //Show results on Form. DisplayPersonSearchResults(resultsSearchPersons); } catch (Exception myError) { //report error to error label lblErrorMessage.Text = myError.Message.ToString(); } finally { // Restore Cursor. Cursor = cursorState; } }
public void TestSearchForPersonMatches() { var query = new GedcomxPersonSearchQueryBuilder() .FatherSurname("Heaton") .SpouseSurname("Cox") .Surname("Heaton") .GivenName("Israel") .BirthPlace("Orderville, UT") .DeathDate("29 August 1936") .DeathPlace("Kanab, Kane, UT") .SpouseGivenName("Charlotte") .MotherGivenName("Clarissa") .MotherSurname("Hoyt") .Gender("Male") .BirthDate("30 January 1880") .FatherGivenName("Jonathan"); var state = tree.SearchForPersonMatches(query); Assert.DoesNotThrow(() => state.IfSuccessful()); Assert.AreEqual(HttpStatusCode.OK, state.Response.StatusCode); }
/// <summary> /// Searches for persons based off the specified query. /// </summary> /// <param name="query">The query to use for searching.</param> /// <param name="options">The options to apply before executing the REST API call.</param> /// <returns> /// A <see cref="PersonSearchResultsState"/> instance containing the REST API response. /// </returns> public PersonSearchResultsState SearchForPersons(GedcomxPersonSearchQueryBuilder query, params IStateTransitionOption[] options) { return(SearchForPersons(query.Build(), options)); }