public void TrainInChunksWithFeatureSelectionTest(string trainFile, string testFile, int[] featureSelection, int chunkSize, int expectedResultLength)
        {
            var machine = new Machine(2, 64, featureSelection);

            machine.Train(trainFile, chunkSize);

            var results = machine.Test(testFile);

            Assert.That(results.Length, Is.EqualTo(expectedResultLength));
        }
        public void MachineSingleBatchTest(string trainFile, string testFile, int expectedResultLength)
        {
            var machine = new Machine(2, 64);

            machine.Train(trainFile);

            var results = machine.Test(testFile);

            Assert.That(results.Length, Is.EqualTo(expectedResultLength));
        }
        public void TwoMachineWithSameDataShouldGetSameResultsTest(string trainFile1, string trainFile2, string testFile)
        {
            var machine1 = new Machine(2, 64);
            machine1.Train(trainFile1);

            var machine2 = new Machine(2, 64);
            machine2.Train(trainFile2);

            var results1 = machine1.Test(testFile);
            var results2 = machine2.Test(testFile);

            Assert.AreEqual(results1.Length, results2.Length);

            for (int i = 0; i < results1.Length; i++)
            {
                Assert.AreEqual(results1[i], results2[i]);
            }
        }