You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
No momento, estamos realizando os exercícios com "crie um objeto chamado X com características 1,2,3" e testamos exists("x"), etc. Mas poderíamos buscar no ambiente de correção se existe algum objeto com características 1,2,3, e isso encerraria o exercício.
The text was updated successfully, but these errors were encountered:
Com essa alteração e a #1, acho que é possível fazer uma nova estrutura de exercícios (vagamente inspirada em frameworks de testes, como o testthat); seria possível fazer um único string que contivesse toda a definição do exercício. As funções de extração e teste devem ser explicitamente encadeadas (isso é, elas devem retornar o conjunto de objetos extraídos, que pode ser usado nos testes subsequentes).
Imagino que é possível expor o objeto "extraído" para os próximos testes com o nome de "object", e isso poderia ser usado nas próximas correções.
Também imagino que as funções de correção possam incluir alguns testes comuns (talvez test_identical, test_names, etc), e uma função genérica que aceita um string.
setup(" nomes = c('Atenas', 'Madri', 'Paris', 'Estocolmo'); cidades <- matrix(c(0, 3949, 3000, 3927, 3949, 0, 1273, 3188, 3000, 1273, 0, 1827, 3927, 3188, 1827, 0), nrow=4, ncol=4, dimnames=list(nomes,nomes))")
extract_class("matrix", "Você precisa construir um objeto da classe 'matrix'") ->
extract_dim(c(4,4),
"Você precisa construir um objeto que contenha quatro linhas e quatro colunas") ->
test("all (object %in% cidades)",
"Algum valor da sua matriz está incorreto") ->
test("all (cidades %in% object)",
"Algum valor da matriz está faltando.") ->
test("all(object == t(object))",
"A matriz deve ser simétrica, ou seja, a distância entre Paris e Madri deve ser igual a distância entre Madri e Paris.") ->
test("! is.null(rownames(object)) & ! is.null(colnames(object))",
"Você deve alterar o nome das linhas e colunas da matriz.") ->
test_identical("cidades",
"Alguns valores estão fora de ordem ou o nome das linhas e colunas está incorreto.")
Essa formulação faz sentido pra vcs? Fica claro o que esse código faz?
Oi @andrechalom, achei interessante essa estratégia. No entanto o código não ficou muito claro para mim, mas isso é limitação minha de programação. Acho que não seria um impedimento.
No momento, estamos realizando os exercícios com "crie um objeto chamado X com características 1,2,3" e testamos
exists("x")
, etc. Mas poderíamos buscar no ambiente de correção se existe algum objeto com características 1,2,3, e isso encerraria o exercício.The text was updated successfully, but these errors were encountered: