#include <base/Application.h>
#include <base/collection/List.h>
#include <base/collection/Functor.h>
#include <base/Functor.h>
using namespace com::azure::dev::base;
private:
static const unsigned int MAJOR_VERSION = 1;
static const unsigned int MINOR_VERSION = 0;
public:
ListApplication()
{
}
void main()
{
fout << getFormalName() << " version "
<< MAJOR_VERSION << '.' << MINOR_VERSION << EOL
<< "The Base Framework (Test Suite)" << EOL
<< ENDL;
fout << "Initializing list" << ENDL;
fout << "Appending elements to list (4, 5, 6, and 7)" << ENDL;
fout << "li: " << li << ENDL;
fout << "Prepending elements to list (3, 2, 1, and 0)" << ENDL;
fout << "li: " << li << ENDL;
fout << "Adding elements to list (8, 9, 10, and 11)" << ENDL;
fout << "li: " << li << ENDL;
fout <<
"Size of list: " << li.
getSize() << ENDL;
fout << "Modifying enumerating elements of list (multiplying by 2)" << ENDL;
fout << "li: " << li << ENDL;
fout << "Non-modifying enumerating elements of list (calculating sum)" << ENDL;
forEach(li, sum);
fout <<
"Sum: " << sum.
getResult() << ENDL;
fout <<
"Size: " << li.
getSize() << ENDL;
fout << "Removing all the elements" << ENDL;
fout <<
"Size: " << li.
getSize() << ENDL;
}
};
APPLICATION_STUB(ListApplication);