public void CosineSimilarityTest()
{
CosineSimilarity sim = new CosineSimilarity();
// TODO: Re-enable argument checking only for debugging
// Assert.Throws<ArgumentException>(() => sim.GetSimilarityScore(p0, q4));
double result = sim.GetSimilarityScore(p0, q0);
Assert.AreEqual(result, .8, 0.00001);
result = sim.GetSimilarityScore(p1, q1);
Assert.AreEqual(result, 0.97014, 0.00001);
result = sim.GetSimilarityScore(p2, q2);
Assert.AreEqual(result, 0);
result = sim.GetSimilarityScore(p3, q3);
Assert.AreEqual(result, 1, 0.00001);
result = sim.GetSimilarityScore(p4, q4);
Assert.AreEqual(result, 0.96065, 0.00001);
result = sim.GetSimilarityScore(p5, q5);
Assert.AreEqual(result, 0.96897, 0.00001);
}