out1 <- dcTensor::toyModel(model="dNMF")
out2 <- dcTensor::toyModel(model="dSVD")
out3 <- dcTensor::toyModel(model="dNTF")
out4 <- dcTensor::toyModel(model="dNTD")
out5 <- dcTensor::toyModel(model="dsiNMF_Easy")
out6 <- dcTensor::toyModel(model="dsiNMF_Hard")
out7 <- dcTensor::toyModel(model="dPLS_Easy")
out8 <- dcTensor::toyModel(model="dPLS_Hard")

expect_equivalent(length(dim(out1)), 2)
expect_equivalent(length(dim(out2)), 2)
expect_equivalent(length(dim(out3)), 3)
expect_equivalent(length(dim(out4)), 3)

expect_equivalent(length(out5), 3)
expect_equivalent(length(dim(out5[[1]])), 2)
expect_equivalent(length(dim(out5[[2]])), 2)
expect_equivalent(length(dim(out5[[3]])), 2)

expect_equivalent(length(out6), 3)
expect_equivalent(length(dim(out6[[1]])), 2)
expect_equivalent(length(dim(out6[[2]])), 2)
expect_equivalent(length(dim(out6[[3]])), 2)

expect_equivalent(length(out7), 3)
expect_equivalent(length(dim(out7[[1]])), 2)
expect_equivalent(length(dim(out7[[2]])), 2)
expect_equivalent(length(dim(out7[[3]])), 2)

expect_equivalent(length(out8), 3)
expect_equivalent(length(dim(out8[[1]])), 2)
expect_equivalent(length(dim(out8[[2]])), 2)
expect_equivalent(length(dim(out8[[3]])), 2)
