library(pipenostics) test_that("*m325tracebw* works with strict pipe sizes", { expect_equal( m325tracebw(strict_sizes = TRUE, verbose = FALSE)[2, "pressure"], 0 ) }) dhn <- pipenostics::m325nxdata m325tracebw_report <- do.call("m325tracebw", dhn) test_that("*m325tracebw* errs in loss or in balance calculation", { with(subset(dhn, acceptor == 2), { expect_equal( temperature + dropt( temperature = temperature, pressure = pressure, flow_rate = flow_rate, loss_power = pipenostics::m325nhl( year = year, laying = laying, exp5k = exp5k, insulation = insulation, d = d, temperature = temperature, len = len, duration = 1, # [h] beta = beta, extra = 2 ) # [kcal/h] ) , subset( m325tracebw_report, node == 4 & tracing == 2 & aggregation == "identity" , "temperature" )[[1]] ) expect_equal( subset( m325tracebw_report, node == 4 & tracing == 2 & aggregation == "identity" , "pressure" )[[1]], 0.5903437 ) }) }) test_that("*m325tracebw* errs in balance calculation", { expect_equal( subset( m325tracebw_report, node == 6 & aggregation == "median", "flow_rate" )[1, ], unname(colSums(subset(dhn, acceptor %in% c(3, 7, 9), "flow_rate"))) ) }) test_that("*m325tracebw* does not write csv-file", { file_name <- tempfile() m325tracebw(csv = TRUE, file = file_name) expect_equal( file.exists(file_name), TRUE ) unlink(file_name) }) test_that("*m325tracebw* does not produce ensample results", { aggregation_method <- c("span", "median", "mean", "identity") ensample_1 <- structure( list( node = c( "1", "2", "3", "7", "9", "10", "15", "17", "19", "21", "24", "25", "26", "1", "10", "15", "17", "19", "2", "21", "24", "25", "26", "3", "7", "9", "1", "10", "15", "17", "19", "2", "21", "24", "25", "26", "3", "7", "9", "1", "10", "15", "17", "19", "2", "21", "24", "25", "26", "3", "7", "9", "4", "4", "5", "6", "6", "11", "14", "16", "20", "20", "22", "22", "23", "14", "22", "23", "4", "5", "14", "22", "23", "4", "5", "14", "22", "23", "4", "5", "8", "6", "13", "18", "20", "20", "6", "20", "6", "20", "6", "8", "18", "18", "8", "18", "8", "18", "8", "11", "16", "11", "16", "11", "16", "11", "16", "13", "13", "13", "13", "13", "12", "12", "12", "12" ), tracing = c( "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "sensor", "1", "2", "3", "7", "9", "10", "15", "17", "19", "21", "24", "25", "26", "15", "24|25", "26", "1|2", "3", "15", "24|25", "26", "1|2", "3", "15", "24|25", "26", "1|2", "3", "4", "5", "14", "22", "23", "19|21|23", "7|9|5", "19|21|23", "7|9|5", "19|21|23", "7|9|5", "6", "20", "22|20", "4|6", "22|20", "4|6", "22|20", "4|6", "8", "18", "10|8", "17|18", "10|8", "17|18", "10|8", "17|18", "11", "16", "14|11|16", "14|11|16", "14|11|16", "13", "13", "13", "13" ), backward = c( TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE ), aggregation = c( "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "span", "span", "span", "span", "span", "span", "span", "span", "span", "span", "span", "span", "span", "median", "median", "median", "median", "median", "median", "median", "median", "median", "median", "median", "median", "median", "mean", "mean", "mean", "mean", "mean", "mean", "mean", "mean", "mean", "mean", "mean", "mean", "mean", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "identity", "span", "span", "span", "span", "span", "median", "median", "median", "median", "median", "mean", "mean", "mean", "mean", "mean", "identity", "identity", "identity", "identity", "identity", "span", "span", "median", "median", "mean", "mean", "identity", "identity", "span", "span", "median", "median", "mean", "mean", "identity", "identity", "span", "span", "median", "median", "mean", "mean", "identity", "identity", "span", "median", "mean", "identity", "span", "median", "mean" ), loss = c( 96.236, 96.288, 70.584, 78.4, 28.1152, 24.9182, 96.6, 24.9596, 28.1658, 77.824, 96.184, 96.236, 70.54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96.236, 24.9182, 96.6, 24.9596, 28.1658, 96.288, 77.824, 96.184, 96.236, 70.54, 70.584, 78.4, 28.1152, 96.236, 24.9182, 96.6, 24.9596, 28.1658, 96.288, 77.824, 96.184, 96.236, 70.54, 70.584, 78.4, 28.1152, 96.236, 96.288, 70.584, 78.4, 28.1152, 24.9182, 96.6, 24.9596, 28.1658, 77.824, 96.184, 96.236, 70.54, 0, 0.0520000000000067, 0, 0.0519999999999925, 0, 96.6, 96.21, 70.54, 96.262, 70.584, 96.6, 96.21, 70.54, 96.262, 70.584, 116.044943125762, 70.7340165868372, 96.7331745004449, 115.945514486784, 70.6899252508703, 49.6582, 50.2848, 70.6899252508703, 70.7340165868372, 58.8932417502901, 59.0830721956124, 96.2114863150603, 96.1226072815915, 19.8229072051922, 19.8334568107018, 106.034060884188, 106.128214720411, 106.034060884188, 106.128214720411, 116.015881619773, 115.922823255434, 91.0976816197735, 90.9632232554338, 70.4670408098868, 70.4412116277169, 70.4670408098868, 70.4412116277169, 116.679050351562, 116.666828494072, 19.9458758511172, 116.666828494072, 110.02635111536, 152.789332127695, 0, 152.789332127695, 152.789332127695 ), flux = c( 237.506853669926, 237.635187727772, 326.622517030492, 290.232407743291, 130.101119103702, 184.491560781349, 238.405192074846, 184.798081742588, 130.335267060204, 288.100088012932, 237.378519612081, 237.506853669926, 326.418910111794, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 237.506853669926, 184.491560781349, 238.405192074846, 184.798081742588, 130.335267060204, 237.635187727772, 288.100088012932, 237.378519612081, 237.506853669926, 326.418910111794, 326.622517030492, 290.232407743291, 130.101119103702, 237.506853669926, 184.491560781349, 238.405192074846, 184.798081742588, 130.335267060204, 237.635187727772, 288.100088012932, 237.378519612081, 237.506853669926, 326.418910111794, 326.622517030492, 290.232407743291, 130.101119103702, 237.506853669926, 237.635187727772, 326.622517030492, 290.232407743291, 130.101119103702, 184.491560781349, 238.405192074846, 184.798081742588, 130.335267060204, 288.100088012932, 237.378519612081, 237.506853669926, 326.418910111794, 0, 0.128334057845649, 0, 0.128334057845677, 0, 238.405192074846, 237.442686641004, 326.418910111794, 237.571020698849, 326.622517030492, 238.405192074846, 237.442686641004, 326.418910111794, 237.571020698849, 326.622517030492, 214.79593909326, 327.316708280479, 238.733861767994, 214.61189946769, 327.112678710991, 196.777411650787, 197.215589176777, 288.100088012932, 290.232407743291, 248.516011261376, 249.216745042491, 237.44635481106, 237.227004676013, 22.6151052083223, 22.6504157177997, 225.919452071852, 226.12114695216, 225.919452071852, 226.12114695216, 214.742147059741, 214.569898634085, 30.2505862783927, 29.7718168914971, 199.616853920545, 199.683990188336, 199.616853920545, 199.683990188336, 215.969653805705, 215.947031489848, 22.7868302781453, 215.969653805705, 223.550182354516, 189.169748399897, 0, 189.169748399897, 189.169748399897 ), Q = c( 92028.56208, 92078.28864, 130903.392384, 136314.3936, 20296.2504192, 13092.8196624, 184405.536, 13114.5725472, 35131.9909824, 135312.900096, 58760.72928, 58792.49712, 130821.79104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92028.56208, 13092.8196624, 184405.536, 13114.5725472, 35131.9909824, 92078.28864, 135312.900096, 58760.72928, 58792.49712, 130821.79104, 130903.392384, 136314.3936, 20296.2504192, 92028.56208, 13092.8196624, 184405.536, 13114.5725472, 35131.9909824, 92078.28864, 135312.900096, 58760.72928, 58792.49712, 130821.79104, 130903.392384, 136314.3936, 20296.2504192, 92028.56208, 92078.28864, 130903.392384, 136314.3936, 20296.2504192, 13092.8196624, 184405.536, 13114.5725472, 35131.9909824, 135312.900096, 58760.72928, 58792.49712, 130821.79104, 0, 31.7678400000004, 0, 49.7265599999955, 0, 184405.536, 58776.6132, 130821.79104, 92053.42536, 130903.392384, 184405.536, 58776.6132, 130821.79104, 92053.42536, 130903.392384, 39756.9975148861, 61399.3898859055, 158611.45156489, 85734.7512321073, 88173.5230833176, 100180.9091136, 116018.1431808, 88173.5230833176, 61399.3898859055, 86206.1380539059, 72670.0113017018, 139659.823843051, 154016.100176007, 68281.3489438994, 99902.8263281649, 119875.425704057, 89708.4106789686, 119875.425704057, 89708.4106789686, 83531.4347662369, 85717.972427998, 70438.6151038369, 72603.399880798, 48312.1272143185, 49416.272487599, 48312.1272143185, 49416.272487599, 84008.9162531247, 84000.1165157321, 74611.3350491574, 84008.9162531247, 108873.494777915, 362228.059349711, 0, 362228.059349711, 362228.059349711 ), temperature = c( 69.3, 69.4, 68.6, 70, 69.2, 71.3, 70, 71.4, 69.3, 68.8, 69.2, 69.3, 68.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69.3, 71.3, 70, 71.4, 69.3, 69.4, 68.8, 69.2, 69.3, 68.5, 68.6, 70, 69.2, 69.3, 71.3, 70, 71.4, 69.3, 69.4, 68.8, 69.2, 69.3, 68.5, 68.6, 70, 69.2, 69.4278239587787, 69.5278911169924, 68.9409467882664, 70.2839728060707, 69.2528582981929, 71.3545393924532, 70.256104808548, 71.4546291366507, 69.3914942206321, 69.0819370799837, 69.2816174964647, 69.3816604058404, 68.8407392065235, 0, 0.100042909375702, 0, 0.100067158213761, 0, 70.256104808548, 69.3316389511525, 68.8407392065235, 69.4778575378855, 68.9409467882664, 70.256104808548, 69.3316389511525, 68.8407392065235, 69.4778575378855, 68.9409467882664, 69.5054672641705, 69.1008606178998, 70.4763782626212, 69.3911797635341, 69.0703892667671, 0.321104953865017, 1.18311218817091, 69.0819370799837, 69.2528582981929, 69.1812735224609, 69.5458972407211, 69.3647727939868, 69.2053592230361, 0.185820540498, 0.140694470183718, 69.2982694932851, 69.4351200290787, 69.2982694932851, 69.4351200290787, 69.4661969356708, 69.3301605517975, 1.8883424567824, 2.12446858485322, 70.410368164062, 70.3923948442241, 70.410368164062, 70.3923948442241, 70.439057070199, 70.4210808364874, 0.0552974261338335, 70.439057070199, 70.4455053897692, 70.4941352065298, 0, 70.4941352065298, 70.4941352065298 ), pressure = c( 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.588399, 0.590343599388801, 0.590343692023939, 0.62345680611945, 0.607190186491894, 0.602049265713798, 0.662448839955654, 0.592282179540983, 0.662452702253395, 0.611985762032837, 0.60238666334157, 0.589641249306903, 0.589641308381024, 0.623455115887884, 0, 5.90741219275159e-08, 0, 9.26351378938151e-08, 0, 0.592282179540983, 0.589641278843964, 0.623455115887884, 0.59034364570637, 0.62345680611945, 0.592282179540983, 0.589641278843964, 0.623455115887884, 0.59034364570637, 0.62345680611945, 0.590953930814479, 0.641787398650259, 0.595618000158054, 0.590958371080833, 0.651834965393359, 0.0494483020517883, 0.0397381329364609, 0.611985762032837, 0.607190186491894, 0.622069130255922, 0.617008950285317, 0.618908711083612, 0.621742593118533, 0.0307842220377004, 0.027954780269133, 0.606350482099683, 0.604931320949045, 0.606350482099683, 0.604931320949045, 0.609389412098584, 0.610928599685786, 0.05305942785707, 0.0515241025676091, 0.635919126027119, 0.63669065096959, 0.635919126027119, 0.63669065096959, 0.641210383600342, 0.641981854283247, 0.0463638541251929, 0.641210383600342, 0.626270079347214, 0.656795401217819, 0, 0.656795401217819, 0.656795401217819 ), flow_rate = c( 30, 30, 16, 20, 16, 10, 30, 10, 16, 20, 30, 30, 16, 30, 10, 30, 10, 16, 30, 20, 30, 30, 16, 16, 20, 16, 30, 10, 30, 10, 16, 30, 20, 30, 30, 16, 16, 20, 16, 30, 10, 30, 10, 16, 30, 20, 30, 30, 16, 16, 20, 16, 30, 30, 16, 20, 16, 10, 30, 10, 16, 20, 30, 30, 16, 30, 60, 16, 60, 16, 30, 60, 16, 60, 16, 30, 60, 16, 60, 16, 60, 16, 30, 60, 16, 52, 52, 52, 52, 52, 52, 52, 52, 112, 112, 112, 112, 112, 112, 112, 112, 122, 122, 122, 122, 122, 122, 122, 122, 274, 274, 274, 274, 274, 274, 274 ), job = c( 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L ) ), row.names = c( "1", "2", "3", "7", "9", "10", "15", "17", "19", "21", "24", "25", "26", "span.1", "span.10", "span.15", "span.17", "span.19", "span.2", "span.21", "span.24", "span.25", "span.26", "span.3", "span.7", "span.9", "median.1", "median.10", "median.15", "median.17", "median.19", "median.2", "median.21", "median.24", "median.25", "median.26", "median.3", "median.7", "median.9", "mean.1", "mean.10", "mean.15", "mean.17", "mean.19", "mean.2", "mean.21", "mean.24", "mean.25", "mean.26", "mean.3", "mean.7", "mean.9", "14", "22", "31", "4", "5", "6", "71", "8", "91", "101", "11", "12", "13", "span.14", "span.22", "span.23", "span.4", "span.5", "median.14", "median.22", "median.23", "median.4", "median.5", "mean.14", "mean.22", "mean.23", "mean.4", "mean.5", "16", "23", "32", "41", "51", "span.20", "span.6", "median.20", "median.6", "mean.20", "mean.6", "18", "27", "span.18", "span.8", "median.18", "median.8", "mean.18", "mean.8", "110", "28", "span.11", "span.16", "median.11", "median.16", "mean.11", "mean.16", "111", "29", "span", "median", "mean", "112", "span1", "median1", "mean1" ), class = "data.frame" ) expect_equal(all(colnames(m325tracebw_report) == colnames(ensample_1)), TRUE) expect_equal( all(m325tracebw_report[["node"]] == ensample_1[["node"]]), TRUE ) expect_equal( all(m325tracebw_report[["tracing"]] == ensample_1[["tracing"]]), TRUE ) expect_equal( all(m325tracebw_report[["backward"]] == ensample_1[["backward"]]), TRUE ) expect_equal( all(m325tracebw_report[["aggregation"]] == ensample_1[["aggregation"]]), TRUE ) expect_equal( all(m325tracebw_report[["job"]] == ensample_1[["job"]]), TRUE ) expect_equal( all.equal( m325tracebw_report[["temperature"]], ensample_1[["temperature"]], tolerance = 1e-8 ), TRUE ) expect_equal( all.equal( m325tracebw_report[["pressure"]], ensample_1[["pressure"]], tolerance = 1e-8 ), TRUE ) expect_equal( all.equal( m325tracebw_report[["flow_rate"]], ensample_1[["flow_rate"]], tolerance = 1e-8 ), TRUE ) expect_equal( all.equal(m325tracebw_report[["Q"]], ensample_1[["Q"]], tolerance = 1e-8), TRUE ) expect_equal( all.equal( m325tracebw_report[["loss"]], ensample_1[["loss"]], tolerance = 1e-8 ), TRUE ) expect_equal( all.equal( m325tracebw_report[["flux"]], ensample_1[["flux"]], tolerance = 1e-8 ), TRUE ) }) rm(m325tracebw_report, dhn)