///|
test "Query::score" {
inspect(Query::score(Query::new("foo"), item="bar"), content="0")
inspect(
Query::score(Query::new("abc"), item="bbb bbb bbb abc bbb"),
content="7",
)
inspect(Query::score(Query::new("abc"), item="zz zabc zz"), content="967")
inspect(Query::score(Query::new("abc"), item="__a__b__c__"), content="1447")
inspect(
Query::score(Query::new("ghi abc"), item="abc def ghi jkl"),
content="969",
)
inspect(
Query::score(Query::new("ghi pqr"), item="abc def ghi jkl"),
content="0",
)
}
///|
test "matching_indices" {
inspect(
Query::matching_indices(Query::new("abc"), item="a__abb____c_c"),
content="Some([3, 4, 10])",
)
inspect(
Query::matching_indices(Query::new("no_match"), item="can't match this"),
content="None",
)
inspect(
Query::matching_indices(Query::new("abc ab"), item="a__abb____c_c"),
content="Some([3, 4, 10])",
)
}
///|
test "search" {
let items = ["___abc___", "aBc", "Abc_defgh", "abc", "foof"]
inspect(
Query::search(Query::new("abc"), items~),
content=(
$|[\"aBc\", \"abc\", \"Abc_defgh\", \"___abc___\"]
),
)
}
///|
test "split_by_matching_sections" {
inspect(
Query::split_by_matching_sections(Query::new("foo"), item="foo bar baz"),
content=(
$|Some([(true, \"foo\"), (false, \" bar baz\")])
),
)
inspect(
Query::split_by_matching_sections(Query::new("abc"), item="____abc____"),
content=(
$|Some([(false, \"____\"), (true, \"abc\"), (false, \"____\")])
),
)
inspect(
Query::split_by_matching_sections(Query::new("a ab"), item="a b"),
content=(
$|Some([(true, \"a\"), (false, \" \"), (true, \"b\")])
),
)
}