Nothing
test_that("alloc_dmd) returns the expected result", {
#--------------------------------
# Input values for the test
#--------------------------------
DFU <- c(rep("item 1", 17))
Period <- c("2023-07-01", "2023-08-01", "2023-09-01", "2023-10-01", "2023-11-01", "2023-12-01", "2024-01-01", "2024-02-01", "2024-03-01", "2024-04-01", "2024-05-01",
"2024-06-01", "2024-07-01", "2024-08-01", "2024-09-01", "2024-10-01", "2024-11-01")
Dist1 <- c(10664, 5099, 4363, 2538, 1588, 2172, 2685, 2413, 3076, 2326, 3563, 6706, 3376, 4533, 0, 0, 0)
Dist2 <- c(0, 1230, 1330, 945, 457, 537, 504, 475, 500, 483, 852, 760, 553, 1013, 1219, 0, 0)
Dist3 <- c(2580, 1505, 1635, 1168, 635, 967, 658, 647, 461, 974, 1566, 1026, 871, 1742, 0, 0, 0)
Dist4 <- c(359, 548, 603, 291, 592, 1239, 607, 594, 558, 438, 449, 575, 881, 602, 0, 0, 0)
Dist5 <- c(1411, 419, 302, 303, 360, 326, 365, 462, 228, 380, 497, 766, 425, 0, 0, 0, 0)
Demand <- c(15014, 8801, 8233, 5245, 3632, 5241, 4819, 4591, 4823, 4601, 6927, 9833, 6106, 7890, 1219, 0, 0)
Opening <- c(20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Supply <- c(4000, 1000, 0, 17000, 0, 500, 10000, 5000, 0, 0, 20000, 10000, 0, 10000, 0, 0, 0)
# create the dataframe
input <- data.frame(DFU,
Period,
Dist1,
Dist2,
Dist3,
Dist4,
Dist5,
Demand,
Opening,
Supply)
# format the Period as a date
input$Period <- as.Date(input$Period, format = "%Y-%m-%d")
#--------------------------------
# Expected outputs
#--------------------------------
# Dist 1
expected_output_Dist1 <- c(10664.0000, 5099.0000, 627.9795, 6273.0205, 1588.0000, 652.7189, 4204.2811, 2413.0000, 1227.0836, 4174.9164, 3563.0000, 6706.0000, 3173.6390, 4735.3610,
0.0000, 0.0000, 0.0000)
# Dist 2
expected_output_Dist2 <- c(0.0000, 1230.0000, 191.4308272, 2083.5691728, 457.0000, 161.3766457,
879.6233543,
475.0000, 199.4609164, 783.5390836, 852.0000, 760.0000, 519.8526, 1046.1474,
1219.0000, 0.0000, 0.0000)
# Dist 3
expected_output_Dist3 <- c(2580.0000, 1505.0000, 235.330378, 2567.669622, 635.0000,
290.598168, 1334.401832,
647.0000, 183.902965, 1251.097035, 1566.0000, 1026.0000, 818.7914, 1794.2086,
0.0000, 0.0000, 0.0000)
# Dist 4
expected_output_Dist4 <- c(359.00000, 548.00000, 86.79157, 807.20843, 592.00000, 372.33829, 1473.66171,
594.00000, 222.59838, 773.40162, 449.00000, 575.00000, 828.19194, 654.80806,
0.00000, 0.00000, 0.00000)
# Dist 5
expected_output_Dist5 <- c(1411.00000, 419.00000, 43.46775, 561.53225, 360.00000, 97.96795, 593.03205,
462.00000, 90.95418, 517.04582, 497.00000, 766.00000, 399.52506, 25.47494,
0.00000, 0.00000, 0.00000)
# Demand
expected_output_Demand <- c(15014, 8801, 1185, 12293, 3632, 1575, 8485, 4591, 1924, 7500, 6927, 9833, 5740, 8256, 1219, 0, 0)
#--------------------------------
# Run function
#--------------------------------
# Call the function
calculated_dataset <- alloc_dmd(input)
#--------------------------------
# Get outputs
#--------------------------------
# extract the outputs
output_Dist1 <- calculated_dataset$Dist1
output_Dist2 <- calculated_dataset$Dist2
output_Dist3 <- calculated_dataset$Dist3
output_Dist4 <- calculated_dataset$Dist4
output_Dist5 <- calculated_dataset$Dist5
output_Demand <- calculated_dataset$Demand
#--------------------------------
# Run Checks
#--------------------------------
# Check if the output matches for each receiving entities and the total demand
expect_equal(output_Dist1, expected_output_Dist1)
expect_equal(output_Dist2, expected_output_Dist2)
expect_equal(output_Dist3, expected_output_Dist3)
expect_equal(output_Dist4, expected_output_Dist4)
expect_equal(output_Dist5, expected_output_Dist5)
expect_equal(output_Demand, expected_output_Demand)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.