public function testComputeSimilarity2()
{
$instance = new KNNModelBuilder(null, new CosineSimilarity());
$source = new ObjectSet(Rating::class);
$destination = new ObjectSet(Rating::class);
$node1 = new FakeNode(1);
$node2 = new FakeNode(2);
$node3 = new FakeNode(3);
$node4 = new FakeNode(4);
$node5 = new FakeNode(5);
$source->add(new Rating(1, $node1->identity()));
$source->add(new Rating(3, $node4->identity()));
$destination->add(new Rating(1, $node2->identity()));
$destination->add(new Rating(2, $node4->identity()));
$destination->add(new Rating(5, $node5->identity()));
$similarity = $instance->computeSimilarity($source, $destination);
$this->assertTrue($similarity >= 0.34641016 && $similarity <= 0.346410161514);
}