Write a class for cyclic two-way list (of integers).
Class should allow to:
- Add elements (at the beginning, after certain element, at certain index)
- Remove elements (by index, by value, by index range, by value range)
- Get element from list (by value, by index)
- Merge 2 lists
- Subtract one list from another
- Making copies of list
- Remove duplicates
- Get list size
- Compare 2 lists
Apart from that, overloaded basic operators and write tests that confirm that class works correctly.