# decoupe_requete --------------------------------------------------------
test_that("decoupe sql - Cas normal", {
code_sql <- "select * from table where nom=\"frechet\""
sentence <- decoupe_requete(code_sql,
key_words = c("select",
"from",
"where",
"order by",
"group by",
"limit"))
expect_length(sentence, 2)
expect_length(sentence$kw, 3)
expect_length(sentence$text, 3)
expect_equal(sentence$kw,
c("select", "from", "where"))
compare(sentence$text,
c("*", "table", "nom=\"frechet\""),
check.attributes = FALSE,
)
})
test_that("decoupe sql - Ignore CASE", {
code_sql <- "SELECT * FROM table WHERE nom=\"Frechet\""
sentence <- decoupe_requete(code_sql,
key_words = c("select",
"from",
"where",
"order by",
"group by",
"limit"))
expect_length(sentence, 2)
expect_length(sentence$kw, 3)
expect_length(sentence$text, 3)
expect_equal(sentence$kw,
c("select", "from", "where"))
compare(sentence$text,
c("*", "table", "nom=\"frechet\""),
check.attributes = FALSE,
)
})
test_that("decoupe sql - Cas vide", {
code_sql <- "phrase qui n'a aucun rapport"
sentence <- decoupe_requete(code_sql,
key_words = c("select",
"from",
"where",
"order by",
"group by",
"limit"))
expect_null(sentence)
expect_message(decoupe_requete(code_sql,
key_words = c("select",
"from",
"where",
"order by",
"group by",
"limit")),
"Requete does not contain key words")
})
test_that("Cas avec le mot clé contenu dans un mot",{
phrase <- "Ceci n'est pas une phrase à découper"
sentence <- decoupe_requete(requete = phrase, key_words = "as")
expect_null(sentence)
})
# decouper_SAS ------------------------------------------------------------
test_that("decoupe sas - Code non reconnu",{
code_sas <- "Ceci n'est pas du code SAS"
code_decoupe <- decouper_SAS(code_sas)
expect_length(code_decoupe, 3) # liste de taille 3
expect_equal(names(code_decoupe), c("place", "texte", "id"))
expect_length(code_decoupe$place, 0)
expect_length(code_decoupe$texte, 0)
expect_length(code_decoupe$id, 0)
})
test_that("decoupe sas - Commentaires",{
code_sas <-
"/*Ceci est un commentaire*/
/*Ceci
est un
commentaire
multilignes*/
*Ceci est une ligne
Ceci n'est pas un commentaire * "
code_decoupe <- decouper_SAS(code_sas)
expect_length(code_decoupe, 3) # liste de taille 3
expect_equal(names(code_decoupe), c("place", "texte", "id"))
expect_equal(code_decoupe$texte, c(" *Ceci est une ligne",
"/*Ceci est un commentaire*/",
"/*Ceci\n est un\n commentaire\n multilignes*/"))
expect_equal(code_decoupe$id, c("*", "/*", "/*"))
})
test_that("decoupe sas - Procédures",{
code_sas <-
"proc contents data = table;
run;
proc means data= table;
var age;
run;
proc freq data=table;
table sexe;
run;"
code_decoupe <- decouper_SAS(code_sas)
expect_length(code_decoupe, 3) # liste de taille 3
expect_equal(names(code_decoupe), c("place", "texte", "id"))
expect_equal(code_decoupe$texte, c("proc contents data = table;\n run;",
"proc means data= table;\n var age;\n run;",
"proc freq data=table;\n table sexe;\n run;"))
expect_equal(code_decoupe$id, c("proc contents",
"proc means",
"proc freq" ))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.