# Status of pyrate (according to email communication)
## Unittests
Due to the growing complexity of the program we have to write some unittests for every functionality.
Use the following external helper sites to assist improvement of the code
*[x] [Travis -- checks build and test passing of code](https://travis-ci.org/)
*[ ] [landscape -- checks code "health" via some metrics](https://landscape.io/)
*[x] [codecov -- checks how much of code is covered by unittests](https://codecov.io/)
Status: Travis CI, appveyor CI, Codecoverage available (Thanks @theinze!). Unit tests and smoke tests to be implemented.
Goal:
* Develop unittests
Distant goal:
* Every change in the internal structure has to pass the unittests
## Speichern und Laden von Objektiven
Status: pickles mag die optimierbaren Variablen nicht
Ziel:
* Lösung, die sowohl Optimierung als auch speichern ermöglicht und die Python-Design-Philosophie möglichst wenig verletzt, also wenig C++ Pointer Zeug enthält.
* Idealerweise nur mit mainstream-Paketen wie numpy; Diese werden mit sehr hoher Wahrscheinlichkeit in ein paar Jahren noch unterstützt und auf neue python-Versionen gehoben
## Asphären
Status: Bisher nur Kegelschnitte möglich
Ziel:
* Entwicklung eines iterativen Verfahrens zur Schnittpunkt-Berechnung von Geraden mit Asphären
* Implementierung einer Mutterklasse für Asphären
* Implementierung polynomielle Asphäre
Fernziel:
* Implementierung verschiedener Asphären- und Freiform-Beschreibungen