tests/testthat/test-FuzzifyMatrix.R

test_that("Function returns correct values", {
  
  # starting values
  
  # snapshots tests
  
  expect_snapshot(
    
    {set.seed(123456)
      
      testMatrix1 <- matrix(c(1,2,3,4,
                              -1,3,5,9,
                              0,4,7,1,
                              -1,-3,5,0,
                              7,11,22,15),nrow = 5,ncol = 4,byrow = TRUE)
      
      FuzzifyMatrix(crispMatrix=testMatrix1,coreFactor=0.2,supportFactor=0.2,trapezoidal=TRUE)}
  )
  
  
  expect_snapshot(
    
    {set.seed(123456)
      
      testMatrix1 <- matrix(c(1,2,3,4,
                              -1,3,5,9,
                              0,4,7,1,
                              -1,-3,5,0,
                              7,11,22,15),nrow = 5,ncol = 4,byrow = TRUE)
      
      FuzzifyMatrix(crispMatrix=testMatrix1,coreFactor=0.2,supportFactor=0.2,trapezoidal=FALSE)}
  )
  
  
  expect_snapshot(
    
    {set.seed(123456)
      
      testMatrix1 <- matrix(c(1,2,3,4,
                              -1,3,5,9,
                              0,4,7,1,
                              -1,-3,5,0,
                              7,11,22,15),nrow = 5,ncol = 4,byrow = TRUE)
      
      FuzzifyMatrix(crispMatrix=testMatrix1,coreFactor=0.3,supportFactor=0.5,trapezoidal=TRUE)}
  )
  
  
  expect_snapshot(
    
    {set.seed(123456)
      
      testDataFrame1 <- data.frame(a=c(1,-1,0,-1,7),b=c(2,3,4,-3,11),b=c(3,5,7,5,22),d=c(4,9,1,0,15))
      
      FuzzifyMatrix(crispMatrix=testDataFrame1,coreFactor=0.2,supportFactor=0.5,trapezoidal=TRUE)}
  )
  
  
  expect_snapshot(
    
    {set.seed(123456)
      
      testDataFrame1 <- data.frame(a=c(1,-1,0,-1,7),b=c(2,3,4,-3,11),b=c(3,5,7,5,22),d=c(4,9,1,0,15))
      
      FuzzifyMatrix(crispMatrix=testDataFrame1,coreFactor=0.4,supportFactor=0.3,trapezoidal=FALSE)}
  )
  
})



test_that("Function reports errors", {
  
  # starting values
  
  set.seed(123456)
  
  testMatrix1 <- matrix(c(1,2,3,4,
                          -1,3,5,9,
                          0,4,7,1,
                          -1,-3,5,0,
                          7,11,22,15),nrow = 5,ncol = 4,byrow = TRUE)
  
  testMatrixBad <- matrix(c(1,2,3,"c",
                          -1,3,5,9,
                          0,4,7,1,
                          -1,-3,5,0,
                          7,11,22,15),nrow = 5,ncol = 4,byrow = TRUE)
  
  # tests
  
  expect_error(FuzzifyMatrix(crispMatrix="c",coreFactor=0.1,supportFactor=0.2,trapezoidal=TRUE),
               
               "Parameter crispMatrix should be a data frame or a matrix!")
  
  expect_error(FuzzifyMatrix(crispMatrix=list(1,2,3),coreFactor=0.1,supportFactor=0.2,trapezoidal=TRUE),
               
               "Parameter crispMatrix should be a data frame or a matrix!")
  
  expect_error(FuzzifyMatrix(crispMatrix="c",coreFactor=0.1,supportFactor=0.2,trapezoidal=TRUE),
               
               "Parameter crispMatrix should be a data frame or a matrix!")
  
  expect_error(FuzzifyMatrix(crispMatrix=testMatrixBad,coreFactor=0.1,supportFactor=0.2,trapezoidal=TRUE),
               
               "Parameter crispMatrix should be a numerical matrix or dataframe!")
  
  expect_error(FuzzifyMatrix(crispMatrix=testMatrix1,coreFactor=-1,supportFactor=0.2,trapezoidal=TRUE),
               
               "Parameter coreFactor should be a single positive real value!")
  
  expect_error(FuzzifyMatrix(crispMatrix=testMatrix1,coreFactor=c(2,3),supportFactor=0.2,trapezoidal=TRUE),
               
               "Parameter coreFactor should be a single positive real value!")
  
  expect_error(FuzzifyMatrix(crispMatrix=testMatrix1,coreFactor=0.5,supportFactor=-0.2,trapezoidal=TRUE),
               
               "Parameter supportFactor should be a single positive real value!")
  
  expect_error(FuzzifyMatrix(crispMatrix=testMatrix1,coreFactor=0.5,supportFactor=list(1,2,3),trapezoidal=TRUE),
               
               "Parameter supportFactor should be a single positive real value!")
  
  
  expect_error(FuzzifyMatrix(crispMatrix=testMatrix1,coreFactor=0.5,supportFactor=.2,trapezoidal="s"),
               
               "Parameter trapezoidal should be a single logical value!")
  
  
  expect_error(FuzzifyMatrix(crispMatrix=testMatrix1,coreFactor=0.5,supportFactor=.2,trapezoidal=list(TRUE,FALSE)),
               
               "Parameter trapezoidal should be a single logical value!")
  
  
  
  
})

Try the FuzzyImputationTest package in your browser

Any scripts or data that you put into this service are public.

FuzzyImputationTest documentation built on April 3, 2025, 9:23 p.m.