From 42d6ff2d0efa1985e07919521fd724522fc9ac09 Mon Sep 17 00:00:00 2001
From: Julian Sagebiel <julian.sagebiel@idiv.de>
Date: Sat, 22 Jun 2024 03:32:19 +0200
Subject: [PATCH] autodetect in readdesign

---
 R/readdesign.R                             |  32 ++++++++++-----------
 inst/extdata/spdesigns/designs/twoattr.RDS | Bin 631 -> 128 bytes
 tests/testthat/test-readdesign.R           |  15 +++++++++-
 3 files changed, 30 insertions(+), 17 deletions(-)

diff --git a/R/readdesign.R b/R/readdesign.R
index 699ff04..fb67522 100644
--- a/R/readdesign.R
+++ b/R/readdesign.R
@@ -22,22 +22,22 @@
 
 readdesign <- function(design = designfile, designtype = NULL) {
 
-  # if (is.null(designtype)) {
-  #
-  #
-  #
-  #   # Check if the string ends with ".ngd"
-  #   if (grepl("\\.ngd$", designfile)) {
-  #     # Code to execute if condition is true
-  #     designtype = "ngene"
-  #     print("I guessed it is an ngene file")
-  #   } else {
-  #     # Code to execute if condition is false
-  #     designtype = "spdesign"
-  #     print("I assume it is a spdesign")
-  #   }
-  #
-  # }
+  if (is.null(designtype)) {
+
+
+
+    # Check if the string ends with ".ngd"
+    if (grepl("\\.ngd$", designfile)) {
+      # Code to execute if condition is true
+      designtype = "ngene"
+      print("I guessed it is an ngene file")
+    } else {
+      # Code to execute if condition is false
+      designtype = "spdesign"
+      print("I assume it is a spdesign")
+    }
+
+  }
 
   design <- switch(designtype,
                    "ngene" = suppressWarnings(readr::read_delim(design,
diff --git a/inst/extdata/spdesigns/designs/twoattr.RDS b/inst/extdata/spdesigns/designs/twoattr.RDS
index e43085bd732b5cf4297e08b3593992b6dfb325bf..82c9b6f4031b5f3193bbf369c70cbae2b9e6d30e 100644
GIT binary patch
literal 128
zcmWN?NfN>!5CFhCuiyg)hhfccSO%d=CFNiazTWhuPx|nfZ`s#6cvtE%*6rDNyYAn-
zmHAS9P*Ep{IjZEIv~|0Q2K>bts5u5pErw9NX#j;1B3R=RY9D<dotnk~K9*$AdY$jh
L3LZa_4nh0@UqdC%

literal 631
zcmV--0*L(|iwFP!000001C>?Hi_<_9pC(hAT|X$a;K570h`ZX_1O@SuiYVwo1r-+7
z64E4H0{K`b(`v<oR|O9u2nrqq{SWluK}GPW;?c#6H$5oq(bLA6WF}3<joN|fo8SBR
z&CHv;*Of&8fD9n40l7|=pnm1@na**dYZ1@@K%!D2vq@$RK(IjMk)e5ATkUnVfvPU6
zWT~AvHc$_#M6DC`(E-)!tM<X(VO3iisN03B*`VRsDhtoGY()nEP%4DiLo0A&#wjr+
zw0x`;);f_}v*XKqD8b2%$2Z3BZ}&t(+qYtouyOIirL!wGW^hLeamG4hyZLkf*Nja{
z<{+Q}H8Efjdx2}l*g`x;Ni}ZhWKpFg%0cK8(MnZ7q9>A!mk;T9WNc)zVk1cNUs$tT
zrB4pYq+IR30@BfMGudQPDNAEhus6$bxg7|&El8#8m-B$K<njERK+ua)9P|3ktKY_+
z<+GWAK2!dYKQSMozYr(-<vbPdBEEyj!_PVIy{qh1`S@R4ozGIW$-KPq&^MhCFAjou
zRXG;6x+6q-hEVnkD7x0=y<|6;(k=3nB*_n<ZXmB{+GA#=!=PS(dfBSywUyQ<G(H5c
z9z65!C%@R;UO)YK;9g^2f9cz~&i8kBD);TU2t|lPy9}K&j2SHM`{WdSyLo=^o9WKG
z=I7<-OujI_oW8oXHvA+cMs~b_r(`xuE(&qssVn|N{H?|O%P#iC2EWl5d%lOK+?_T>
z-noOwarsN{T1Q@l%!%cX$+_5P;kdE47BbXwM<dVn+|ZtyHuA8GJd3kV>}Vo<Tlr<<
Rbw)!D`5P*~mU%J<001#RL<|4`

diff --git a/tests/testthat/test-readdesign.R b/tests/testthat/test-readdesign.R
index caf80a3..97a3658 100644
--- a/tests/testthat/test-readdesign.R
+++ b/tests/testthat/test-readdesign.R
@@ -15,14 +15,27 @@ test_that("all is correct", {
   expect_no_error(readdesign(design = design_path, designtype = "ngene"))
 })
 
+# test if autodetect ngd design
+
+test_that("all is correct", {
+  expect_no_error(readdesign(design = design_path))
+})
+
+
 ### Tests for spdesign
 
-design_path <- system.file("extdata","CSA", "design2.RDS" ,package = "simulateDCE")
+design_path <- system.file("extdata","CSA", "linear", "BLIbay.RDS" ,package = "simulateDCE")
 
 test_that("all is correct", {
   expect_no_error(readdesign(design = design_path, designtype = "spdesign"))
 })
 
+# Same Tests for spdesign, but detect automatically if it is spdesign
+
+test_that("all is correct", {
+  expect_no_error(readdesign(design = design_path))
+})
+
 
 ## trying objects that do not work
 
-- 
GitLab