commit ecebba57703c4810a5ef7c43b8ffea21c4096558
parent d56a686cf97800d13c2b0c90e9dc30786af13db9
Author: eamoncaddigan <eamon.caddigan@gmail.com>
Date: Wed, 21 Sep 2016 14:08:15 -0400
Tests for is.flightpath() and more for createPath().
Diffstat:
1 file changed, 31 insertions(+), 28 deletions(-)
diff --git a/tests/testthat/test_createPath.R b/tests/testthat/test_createPath.R
@@ -10,36 +10,39 @@ pathMat <- matrix(c(-74.5771667, 39.4575833,
nrow = 3, byrow = TRUE,
dimnames = list(c("KACY", "VCN", "K17N"),
c("lon", "lat")))
+path <- createPath(pathMat[, "lon"], pathMat[, "lat"])
-test_that("Handling paths with no altitude", {
- path <- createPath(pathMat[, "lon"], pathMat[, "lat"])
+test_that("Simple flightpath creation works", {
expect_equal(path$longitude, pathMat[, "lon"])
expect_equal(path$latitude, pathMat[, "lat"])
- expect_equal(path$altitude, rep(NA, nrow(pathMat)))
})
-# test_that("Bearing and groundspeed calculations are correct", {
-# expect_equal(trajectory$timestamp, seq(1, timeSec))
-# expect_equal(trajectory$groundspeed, rep(100, timeSec), tolerance = 0.5)
-# expect_equal(trajectory$bearing[1:(timeSec-1)],
-# bearing(trajectoryMat[1:(timeSec-1), ], trajectoryMat[2:timeSec, ]))
-# })
-#
-# test_that("Input types are checked", {
-# expect_error(createTrajectory(paste(trajectoryMat[, "lon"]), trajectoryMat[, "lat"]),
-# "\"longitude\" must be a numeric vector")
-# expect_error(createTrajectory(trajectoryMat[, "lon"], paste(trajectoryMat[, "lat"])),
-# "\"latitude\" must be a numeric vector")
-# expect_error(createTrajectory(trajectoryMat[, "lon"], trajectoryMat[, "lat"], paste(rep(2500, timeSec))),
-# "\"altitude\" must be a numeric vector")
-# })
-#
-# test_that("Input lengths are checked", {
-# expect_error(createTrajectory(trajectoryMat[, "lon"], trajectoryMat[1, "lat"]),
-# paste("Vector \"latitude\" has length = 1, expected length =", timeSec))
-# # Altitude can have length of 1 or timeSec, otherwise there should be an error
-# expect_error(createTrajectory(trajectoryMat[, "lon"], trajectoryMat[, "lat"], rep(2500, 2)),
-# paste("Vector \"altitude\" has length = 2, expected length =", timeSec))
-# expect_equal(createTrajectory(trajectoryMat[, "lon"], trajectoryMat[, "lat"], 2500)$altitude,
-# rep(2500, timeSec))
-# })
+test_that("Longitude and latitude checking works", {
+ expect_error(createPath(paste(pathMat[, "lon"]), pathMat[, "lat"]),
+ "\"longitude\" must be a numeric vector")
+ expect_error(createPath(pathMat[, "lon"], paste(pathMat[, "lat"])),
+ "\"latitude\" must be a numeric vector")
+ expect_error(createPath(pathMat[, "lon"], pathMat[1:2, "lat"]),
+ "\"latitude\" and \"longitude\" length mismatch")
+
+})
+
+test_that("Altitudes are handled appropriately", {
+ altitude <- runif(nrow(pathMat), 2500, 4500)
+ expect_equal(createPath(pathMat[, "lon"], pathMat[, "lat"], altitude)$altitude,
+ altitude)
+ expect_equal(createPath(pathMat[, "lon"], pathMat[, "lat"], altitude[1])$altitude,
+ rep(altitude[1], nrow(pathMat)))
+ expect_equal(createPath(pathMat[, "lon"], pathMat[, "lat"])$altitude,
+ rep(NA, nrow(pathMat)))
+
+ expect_error(createPath(pathMat[, "lon"], pathMat[, "lat"], altitude[1:2]),
+ "\"altitude\" has incorrect length")
+ expect_error(createPath(pathMat[, "lon"], pathMat[, "lat"], paste(altitude)),
+ "\"altitude\" must be NA or a numeric vector")
+})
+
+test_that("Trajectories are identified", {
+ expect_true(is.flightpath(path))
+ expect_false(is.flightpath(pathMat))
+})