[Test()] public void TestComputeCorrelations()
        {
            // create test objects
            var pearson     = new Pearson(3, 0f);
            var rating_data = new Ratings();

            rating_data.Add(0, 1, 0.3f);
            rating_data.Add(0, 2, 0.6f);
            rating_data.Add(0, 4, 0.2f);
            rating_data.Add(1, 3, 0.4f);
            rating_data.Add(1, 4, 0.2f);
            rating_data.Add(2, 0, 0.1f);
            rating_data.Add(2, 1, 0.3f);
            // test
            pearson.Shrinkage = 0;
            pearson.ComputeCorrelations(rating_data, EntityType.USER);

            Assert.AreEqual(0, pearson[0, 2]);
        }
        [Test()] public void TestCreate()
        {
            var ratings = new Ratings();

            ratings.Add(0, 1, 0.3f);
            ratings.Add(0, 2, 0.6f);
            ratings.Add(0, 4, 0.2f);
            ratings.Add(1, 3, 0.4f);
            ratings.Add(1, 4, 0.2f);
            ratings.Add(2, 0, 0.1f);
            ratings.Add(2, 1, 0.3f);

            var correlation_matrix = new Pearson(ratings.MaxUserID + 1, 0f);

            correlation_matrix.ComputeCorrelations(ratings, EntityType.USER);
            Assert.AreEqual(3, correlation_matrix.NumberOfRows);
            Assert.IsTrue(correlation_matrix.IsSymmetric);
            Assert.AreEqual(0, correlation_matrix[0, 1]);
        }