Fix bugs :

- Throw exceptions to prevent unadapted usages in Current getter
- Implement Ienumerator.Current
- Add tests