- Develop your own generic "binary tree" type for storing the results of tests performed by students and their results they are presented in an ordered form.
- Provide the ability to store any type of data, supports possible comparisons.
- Student information may contain fields that store the student's name, the name of the test, the date of its completion, and the test score for this student.
- Implement the algorithm of balancing the tree.
- Provide the ability to serialize and deserialize the tree in XML-file.
- Develop unit tests for testing the generated classes.
- Develop your own generic type for serialization of any classes that implement the Serialize marker interface.
- Provide methods that implement serialization/deserialization:
- to a binary file;
- to a text file in JSON format;
- to an XML file.
- Ensure that the class version is checked during deserialization.
- Provide serialization of not only classes, but also their generalized ones collections that implement the ICollection interface.
- Develop unit tests for testing the generated classes