R Under development (unstable) (2025-05-04 r88189 ucrt) -- "Unsuffered Consequences" Copyright (C) 2025 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > # some tests for the basic durations function > require(tsna) Loading required package: tsna Loading required package: network 'network' 1.19.0 (2024-12-08), part of the Statnet Project * 'news(package="network")' for changes since last version * 'citation("network")' for citation information * 'https://statnet.org' for help, support, and other information Loading required package: networkDynamic 'networkDynamic' 0.11.5 (2024-11-21), part of the Statnet Project * 'news(package="networkDynamic")' for changes since last version * 'citation("networkDynamic")' for citation information * 'https://statnet.org' for help, support, and other information > require(testthat) Loading required package: testthat > require(networkDynamicData) Loading required package: networkDynamicData > > # ------ edgeDuration tests ------- > > data(moodyContactSim) > expect_equal(edgeDuration(moodyContactSim),c(32, 33, 32, 26, 30, 24, 32, 30, 26, 27, 27, 32, 31, 27, 26, 34, 44, 26)) > # check with counts > expect_equal(edgeDuration(moodyContactSim,mode='counts'),rep(1,18)) > > # basic testing network > test<-network.initialize(5) > test[,]<-1 > activate.edges(test,onset=0,terminus=2) > activate.edges(test,onset=5,terminus=6) > > # spell level > expect_equal(edgeDuration(test,subject='spells'),c(2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1)) > # edge level > expect_equal(edgeDuration(test,subject='edges'),rep(3,network.edgecount(test))) > expect_equal(edgeDuration(test,subject='dyads'),rep(3,network.edgecount(test))) > > > # test for dyads > test<-network.initialize(2) > add.edges(test,1,2) > add.edges(test,1,2) > add.edges(test,1,2) > expect_equal(edgeDuration(test,subject='edges',start=0,end=2),c(2,2,2)) > expect_equal(edgeDuration(test,subject='dyads',start=0,end=2),6) > # test counts > expect_equal(edgeDuration(test,mode='count',subject='edges',start=0,end=2),c(1,1,1)) > expect_equal(edgeDuration(test,mode='count',subject='dyads',start=0,end=2),3) > > > # ------ vertexDuration tests ------ > > test<-network.initialize(3) > activate.vertices(test,onset = c(0,1),terminus=c(1,2),v=1:2) > vertexDuration(test) # this returns 1,1,Inf, inf should be truncated by default [1] 1 1 Inf > > # mode option switch to counts? > expect_equal(vertexDuration(test,mode='counts'),c(1,1,1)) > > # does it trucate to net obs period appropriately? > test%n%'net.obs.period'<-list(observations=list(c(0,3)),mode="discrete", time.increment=1,time.unit="step") > expect_equal(vertexDuration(test),c(1,1,3)) > > # does it do spell level appropriately? > activate.vertices(test,v=1,onset=2,terminus=3) > expect_equal(vertexDuration(test,subject='spells'),c(1,1,1,3)) > expect_equal(vertexDuration(test,subject='vertices'),c(2,1,3)) > > # test v argument > expect_equal(vertexDuration(test,v=2),1) > > # does output for real example stay consistant? > data(windsurfers) > expect_equal(vertexDuration(windsurfers),c(27, 13, 19, 22, 5, 8, 5, 2, 1, 4, 5, 9, 7, 8, 7, 18, 9, 4, 2, 1, 5, 3, 6, 6, 4, 6, 7, 6, 14, 5, 4, 1, 1, 2, 4, 1, 8, 3, 14, 8, 8, 3, 3, 7,3, 3, 1, 8, 2, 3, 6, 4, 3, 1, 2, 3, 2, 4, 7, 7, 2, 3, 3, 2, 5, 6, 5, 3, 6, 7, 2, 1, 1, 14, 2, 2, 2, 5, 3, 2, 2, 2, 2, 4, 3, 1, 3, 2, 3, 2, 1, 2, 1, 1, 1)) > expect_equal(vertexDuration(windsurfers,mode='counts'),c(4, 6, 8, 7, 4, 5, 3, 2, 1, 3, 4, 4, 6, 5, 6, 9, 7, 3, 2, 1, 4, 2, 3, 4, 3, 3, 5, 4, 5, 4, 3, 1, 1, 1, 3, 1, 5, 3, 8, 7, 6, 2, 3, 5, 2, 3, 1, 6, 2, 2, 4, 4, 3, 1, 1, 3, 1, 3, 6, 4, 1, 3, 3, 2, 4, 5, 3, 2, 5, 4, 2, 1, 1, 7, 2, 2, 2, 4, 3, 2, 2, 1, 2, 2, 2, 1, 3, 1, 3, 2, 1, 2, 1, 1, 1)) > > > # ------- tiedDuration ------ > > # directed case (out) > test<-network.initialize(3) > add.edges.active(test,1,2,onset=0,terminus=2) > add.edges.active(test,1,3,onset=1,terminus=2) > expect_equal(tiedDuration(test),c(3,0,0)) > # un directed > expect_equal(tiedDuration(test,neighborhood = 'combined'),c(3,2,1)) > # reversed > expect_equal(tiedDuration(test,neighborhood = 'in'),c(0,2,1)) > > # counts > expect_equal(tiedDuration(test,mode='counts'),c(2,0,0)) > > # active default on non-dynamic netowrk > test2<-network.initialize(3) > add.edges(test2,1,2) > expect_equal(tiedDuration(test2,active.default = TRUE), c(1,0,0)) > expect_equal(tiedDuration(test2,active.default = FALSE),c(0,0,0)) > > proc.time() user system elapsed 2.98 0.45 3.37