REDCapCAST/tests/testthat/test-API.R

176 lines
7.6 KiB
R

# Check the RCurl export ---------------------------------------------------
test_that("JSON character vector from RCurl matches reference", {
metadata <-
jsonlite::fromJSON(get_data_location("ExampleProject_metadata.json"))
records <-
jsonlite::fromJSON(get_data_location("ExampleProject_records.json"))
redcap_output_json1 <- REDCap_split(records, metadata)
# expect_known_hash(redcap_output_json1, "2c8b6531597182af1248f92124161e0c")
# dput(redcap_output_json1)
expect_identical(
redcap_output_json1,
list(structure(list(
row = c(
"AMC Javelin", "Cadillac Fleetwood",
"Camaro Z28", "Chrysler Imperial", "Datsun 710", "Dodge Challenger",
"Duster 360", "Ferrari Dino", "Fiat 128", "Fiat X1-9", "Ford Pantera L",
"Honda Civic", "Hornet 4 Drive", "Hornet Sportabout", "Lincoln Continental",
"Lotus Europa", "Maserati Bora", "Mazda RX4", "Mazda RX4 Wag",
"Merc 230", "Merc 240D", "Merc 280", "Merc 280C", "Merc 450SE",
"Merc 450SL", "Merc 450SLC", "Pontiac Firebird", "Porsche 914-2",
"Toyota Corolla", "Toyota Corona", "Valiant", "Volvo 142E"
),
mpg = c(
"15.2", "10.4", "13.3", "14.7", "22.8", "15.5", "14.3",
"19.7", "32.4", "27.3", "15.8", "30.4", "21.4", "18.7", "10.4",
"30.4", "15", "21", "21", "22.8", "24.4", "19.2", "17.8",
"16.4", "17.3", "15.2", "19.2", "26", "33.9", "21.5", "18.1",
"21.4"
), cyl = c(
"8", "8", "8", "8", "4", "8", "8", "6",
"4", "4", "8", "4", "6", "8", "8", "4", "8", "6", "6", "4",
"4", "6", "6", "8", "8", "8", "8", "4", "4", "4", "6", "4"
), disp = c(
"304", "472", "350", "440", "108", "318", "360",
"145", "78.7", "79", "351", "75.7", "258", "360", "460",
"95.1", "301", "160", "160", "140.8", "146.7", "167.6", "167.6",
"275.8", "275.8", "275.8", "400", "120.3", "71.1", "120.1",
"225", "121"
), hp = c(
"150", "205", "245", "230", "93", "150",
"245", "175", "66", "66", "264", "52", "110", "175", "215",
"113", "335", "110", "110", "95", "62", "123", "123", "180",
"180", "180", "175", "91", "65", "97", "105", "109"
), drat = c(
"3.15",
"2.93", "3.73", "3.23", "3.85", "2.76", "3.21", "3.62", "4.08",
"4.08", "4.22", "4.93", "3.08", "3.15", "3", "3.77", "3.54",
"3.9", "3.9", "3.92", "3.69", "3.92", "3.92", "3.07", "3.07",
"3.07", "3.08", "4.43", "4.22", "3.7", "2.76", "4.11"
), wt = c(
"3.435",
"5.25", "3.84", "5.345", "2.32", "3.52", "3.57", "2.77",
"2.2", "1.935", "3.17", "1.615", "3.215", "3.44", "5.424",
"1.513", "3.57", "2.62", "2.875", "3.15", "3.19", "3.44",
"3.44", "4.07", "3.73", "3.78", "3.845", "2.14", "1.835",
"2.465", "3.46", "2.78"
), qsec = c(
"17.3", "17.98", "15.41",
"17.42", "18.61", "16.87", "15.84", "15.5", "19.47", "18.9",
"14.5", "18.52", "19.44", "17.02", "17.82", "16.9", "14.6",
"16.46", "17.02", "22.9", "20", "18.3", "18.9", "17.4", "17.6",
"18", "17.05", "16.7", "19.9", "20.01", "20.22", "18.6"
),
vs = c(
"0", "0", "0", "0", "1", "0", "0", "0", "1", "1",
"0", "1", "1", "0", "0", "1", "0", "0", "0", "1", "1", "1",
"1", "0", "0", "0", "0", "0", "1", "1", "1", "1"
), am = c(
"0",
"0", "0", "0", "1", "0", "0", "1", "1", "1", "1", "1", "0",
"0", "0", "1", "1", "1", "1", "0", "0", "0", "0", "0", "0",
"0", "0", "1", "1", "0", "0", "1"
), gear = c(
"3", "3", "3",
"3", "4", "3", "3", "5", "4", "4", "5", "4", "3", "3", "3",
"5", "5", "4", "4", "4", "4", "4", "4", "3", "3", "3", "3",
"5", "4", "3", "3", "4"
), carb = c(
"2", "4", "4", "4", "1",
"2", "4", "6", "1", "1", "4", "2", "1", "2", "4", "2", "8",
"4", "4", "2", "2", "4", "4", "3", "3", "3", "2", "2", "1",
"1", "1", "2"
), color_available___red = c(
"1", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0"
), color_available___green = c(
"1",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0"
), color_available___blue = c(
"1",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0"
), color_available___black = c(
"0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0"
), motor_trend_cars_complete = c(
"1",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0"
), letter_group___a = c(
"1",
"0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "1", "1", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0"
), letter_group___b = c(
"1",
"0", "0", "1", "1", "0", "1", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "1", "1", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0"
), letter_group___c = c(
"0",
"0", "1", "1", "1", "0", "1", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0"
), choice = c(
"choice2",
"", "choice1", "choice1", "", "", "choice1", "", "", "",
"", "", "", "", "", "", "", "", "", "choice2", "", "", "",
"", "", "", "", "", "", "", "", ""
), grouping_complete = c(
"2",
"0", "2", "2", "0", "0", "1", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
"0", "0", "0", "0", "0", "0", "0"
)
), row.names = c(
1L, 5L,
6L, 9L, 11L, 12L, 13L, 18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L,
26L, 27L, 28L, 29L, 30L, 34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L,
42L, 43L, 44L, 45L
), class = "data.frame"), sale = structure(list(
row = c(
"AMC Javelin", "AMC Javelin", "AMC Javelin", "Camaro Z28",
"Camaro Z28", "Chrysler Imperial", "Duster 360", "Duster 360",
"Duster 360", "Duster 360", "Merc 230", "Merc 230", "Merc 230"
), redcap_repeat_instrument = c(
"sale", "sale", "sale", "sale",
"sale", "sale", "sale", "sale", "sale", "sale", "sale", "sale",
"sale"
), redcap_repeat_instance = c(
"1", "2", "3", "1", "2",
"1", "1", "2", "3", "4", "1", "2", "3"
), price = c(
"12000.50",
"13750.77", "15004.57", "7800.00", "8000.00", "7500.00",
"8756.40", "6800.88", "8888.88", "970.00", "7800.98", "7954.00",
"6800.55"
), color = c(
"1", "3", "2", "2", "3", "1", "4",
"2", "1", "4", "2", "1", "3"
), customer = c(
"Bob", "Sue",
"Kim", "Janice", "Tim", "Jim", "Sarah", "Pablo", "Erica",
"Juan", "Ted", "Quentin", "Sharon"
), sale_complete = c(
"0",
"2", "0", "2", "0", "2", "1", "0", "0", "0", "0", "0", "2"
)
), row.names = c(
2L, 3L, 4L, 7L, 8L, 10L, 14L, 15L, 16L,
17L, 31L, 32L, 33L
), class = "data.frame"))
)
})