tests/testthat/test_splitFolds.R

test_that("Test splitFolds", {

    ## Initialize outputs
    DT_training <- vector("list", length=7)
    DT_tuning <- vector("list", length=7)
    DT_testing <- vector("list", length=7)

    ## Load 'DT_folds'
    DT_folds <- readRDS("/home/jchitpin/Downloads/Masters/Projects/MATRIX/RPackages/testData/DT_folds.rds")

    ## Extract all sample runs for the first feature
    minimumCol <- grep("ExactMass", colnames(DT_folds[[1]][[1]]))
    sampleNames <- character()
    for(folds in 1:10){
        sampleNames <- c(sampleNames,
                         colnames(DT_folds[[1]][[folds]])[(minimumCol+1):ncol(DT_folds[[1]][[folds]])])
    }

    ## 'feat' are the features
    for(feat in 1:7){

        ## Split folds into testing, tuning, training sets
        combined <- splitFolds(indexFeature = c(56, 38, 43, 64, 71, 82, 83),
                               DT_folds = DT_folds,
                               feat = feat,
                               folds = 1)
        DT_testing[[feat]]  <- combined$testing
        DT_tuning[[feat]]   <- combined$tuning
        DT_training[[feat]] <- combined$training
    }

    truth_testing  <- readRDS("/home/jchitpin/Downloads/Masters/Projects/MATRIX/RPackages/testData/DT_testing_splitFolds.rds")
    truth_tuning   <- readRDS("/home/jchitpin/Downloads/Masters/Projects/MATRIX/RPackages/testData/DT_tuning_splitFolds.rds")
    truth_training <- readRDS("/home/jchitpin/Downloads/Masters/Projects/MATRIX/RPackages/testData/DT_training_splitFolds.rds")

    ## Expect same output testing, tuning, training data
    expect_equal(DT_testing, truth_testing)
    expect_equal(DT_tuning, truth_tuning)
    expect_equal(DT_training, truth_training)

    ## Expect same number of combined sample runs in testing, tuning, training
    expect_equal(length(sampleNames),
                 sum(ncol(truth_testing[[1]]), ncol(truth_tuning[[1]]), ncol(truth_training[[1]]))-3*minimumCol  )
})
jchitpin/blistR documentation built on July 8, 2019, 6:29 p.m.