void InstancesTest::test_to_XML(void) 
{
   message += "test_to_XML\n";

   Instances i;

   tinyxml2::XMLDocument* document = i.to_XML();

   assert_true(document != NULL, LOG);

   // Test

   i.set(2);

   i.set_use(0, Instances::Testing);
   i.set_use(1, Instances::Unused);

   document = i.to_XML();

   i.set();

   i.from_XML(*document);

   assert_true(i.get_instances_number() == 2, LOG);
   assert_true(i.get_use(0) == Instances::Testing, LOG);
   assert_true(i.get_use(1) == Instances::Unused, LOG);
}
void InstancesTest::test_arrange_used_indices()
{
    message += "test_arrange_used_indices\n";

    Instances i;

    Vector<size_t> used_indices;

    used_indices = i.arrange_used_indices();

    assert_true(used_indices.size() == 0, LOG);

    i.set(1);

    used_indices = i.arrange_used_indices();

    assert_true(used_indices.size() == 1, LOG);

    i.set(4);

    i.set_use(0, Instances::Training);
    i.set_use(1, Instances::Unused);
    i.set_use(2, Instances::Testing);
    i.set_use(3, Instances::Selection);

    used_indices = i.arrange_used_indices();

    assert_true(used_indices.size() == 3, LOG);
    assert_true(used_indices[0] == 0, LOG);
    assert_true(used_indices[1] == 2, LOG);
    assert_true(used_indices[2] == 3, LOG);

}