Added tests for calc
This commit is contained in:
parent
a191f6bb35
commit
a7362a42fa
@ -21,20 +21,41 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
*/
|
*/
|
||||||
#include <Arduino.h>
|
#include <calc.hpp>
|
||||||
#include <main.hpp>
|
#include <helper.hpp>
|
||||||
#include <AUnit.h>
|
#include <AUnit.h>
|
||||||
|
|
||||||
test(calc_createFormula) {
|
// TODO: Add more test cases to explore formula creation error conditions when values are out of bounds
|
||||||
Serial.println("Not implemented yet (calc_createFormula)");
|
// TODO: Add more test cases to check order 3 + 4 formula creation as well.
|
||||||
|
|
||||||
|
test(calc_createFormula1) {
|
||||||
|
char buffer[100];
|
||||||
|
RawFormulaData fd = { { 0.0, 25.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, {0.0, 1.0, 1.02, 1.033, 1.00011, 1.0, 1.0, 1.0, 1.0, 1.0} };
|
||||||
|
int i = createFormula(fd, &buffer[0], sizeof(buffer), 2);
|
||||||
|
assertEqual( i, ERR_FORMULA_NOTENOUGHVALUES );
|
||||||
|
}
|
||||||
|
|
||||||
|
test(calc_createFormula2) {
|
||||||
|
char buffer[100];
|
||||||
|
RawFormulaData fd = { { 25.0, 30.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0}, {1.0, 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.1} };
|
||||||
|
int i = createFormula(fd, &buffer[0], sizeof(buffer), 2);
|
||||||
|
assertEqual( i, 0 );
|
||||||
|
assertEqual( &buffer[0], "0.00000909*tilt^2+0.00124545*tilt+0.96445455");
|
||||||
}
|
}
|
||||||
|
|
||||||
test(calc_calculateGravity) {
|
test(calc_calculateGravity) {
|
||||||
Serial.println("Not implemented yet (calc_calculateGravity)");
|
const char* formula = "0.00000909*tilt^2+0.00124545*tilt+0.96445455";
|
||||||
|
double g = calculateGravity(30, 20, formula);
|
||||||
|
float v1 = reduceFloatPrecision(g, 2);
|
||||||
|
float v2 = 1.01;
|
||||||
|
assertEqual(v1, v2);
|
||||||
}
|
}
|
||||||
|
|
||||||
test(calc_gravityTemperatureCorrectionC) {
|
test(calc_gravityTemperatureCorrectionC) {
|
||||||
Serial.println("Not implemented yet (calc_gravityTemperatureCorrectionC)");
|
double g = gravityTemperatureCorrectionC( 1.02, 45.0, 20.0);
|
||||||
|
float v1 = reduceFloatPrecision(g, 2);
|
||||||
|
float v2 = 1.03;
|
||||||
|
assertEqual(v1, v2);
|
||||||
}
|
}
|
||||||
|
|
||||||
// EOF
|
// EOF
|
Loading…
Reference in New Issue
Block a user