Current section
Files
Jump to
Current section
Files
test/simple_test.exs
defmodule AnnoyExExampleTest do
use ExUnit.Case, async: true
test "simple test" do
a = AnnoyEx.new(3, :angular)
AnnoyEx.add_item(a, 0, [1, 0, 0])
AnnoyEx.add_item(a, 1, [0, 1, 0])
AnnoyEx.add_item(a, 2, [0, 0, 1])
AnnoyEx.build(a, -1)
{results, _} = AnnoyEx.get_nns_by_item(a, 0, 100)
assert results == [0, 1, 2]
{results, _} = AnnoyEx.get_nns_by_vector(a, [1.0, 0.5, 0.5], 100)
assert results == [0, 1, 2]
end
test "mmap test" do
test_file = Path.join(System.tmp_dir!(), "test.tree")
a = AnnoyEx.new(3, :angular)
AnnoyEx.add_item(a, 0, [1, 0, 0])
AnnoyEx.add_item(a, 1, [0, 1, 0])
AnnoyEx.add_item(a, 2, [0, 0, 1])
AnnoyEx.build(a, -1)
AnnoyEx.save(a, test_file)
b = AnnoyEx.new(3)
AnnoyEx.load(b, test_file)
{results, _} = AnnoyEx.get_nns_by_item(a, 0, 100)
assert results == [0, 1, 2]
{results, _} = AnnoyEx.get_nns_by_vector(a, [1.0, 0.5, 0.5], 100)
assert results == [0, 1, 2]
end
end