[R/getAvailablePoints.R:3:20:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L3) *style:* **Commas should always have a space after.**
```r
test <- function(a,point,c){
                   ^
```
[R/getAvailablePoints.R:3:26:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L3) *style:* **Commas should always have a space after.**
```r
test <- function(a,point,c){
                         ^
```
[R/getAvailablePoints.R:4:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L4) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.null(point)){
    ^
```
[R/getAvailablePoints.R:5:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L5) *warning:* **no visible binding for '<<-' assignment to ‘all_available_points’**
```r
    all_available_points<<-c(all_available_points,point)
    ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:5:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L5) *warning:* **no visible binding for global variable ‘all_available_points’**
```r
    all_available_points<<-c(all_available_points,point)
    ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:5:25:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L5) *style:* **Put spaces around all infix operators.**
```r
    all_available_points<<-c(all_available_points,point)
                       ~^~~~
```
[R/getAvailablePoints.R:5:51:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L5) *style:* **Commas should always have a space after.**
```r
    all_available_points<<-c(all_available_points,point)
                                                  ^
```
[R/getAvailablePoints.R:9:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L9) *style:* **Variable or function name should be snake_case.**
```r
pointsForAllTests<-function(point){
^~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:9:18:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L9) *style:* **Put spaces around all infix operators.**
```r
pointsForAllTests<-function(point){
                ~^~~
```
[R/getAvailablePoints.R:10:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L10) *warning:* **no visible binding for '<<-' assignment to ‘all_available_points’**
```r
  all_available_points<<-c(all_available_points,point)
  ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:10:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L10) *warning:* **no visible binding for global variable ‘all_available_points’**
```r
  all_available_points<<-c(all_available_points,point)
  ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:10:23:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L10) *style:* **Put spaces around all infix operators.**
```r
  all_available_points<<-c(all_available_points,point)
                     ~^~~~
```
[R/getAvailablePoints.R:10:49:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L10) *style:* **Commas should always have a space after.**
```r
  all_available_points<<-c(all_available_points,point)
                                                ^
```
[R/getAvailablePoints.R:13:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L13) *style:* **Variable or function name should be snake_case.**
```r
getAvailablePoints <-function(project_path){
^~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:13:20:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L13) *style:* **Put spaces around all infix operators.**
```r
getAvailablePoints <-function(project_path){
                   ^~~
```
[R/getAvailablePoints.R:15:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L15) *warning:* **no visible binding for '<<-' assignment to ‘all_available_points’**
```r
  all_available_points <<- c()
  ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:16:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:16:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L16) *style:* **Variable or function name should be snake_case.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
  ^~~~~~~~~
```
[R/getAvailablePoints.R:16:31:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L16) *style:* **Put spaces around all infix operators.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
                             ~^~
```
[R/getAvailablePoints.R:18:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L18) *warning:* **no visible global function definition for ‘test_file’, Did you mean 'testFile'?**
```r
    test_file(testFile, reporter = "silent",load_helpers=FALSE)
    ^~~~~~~~~
```
[R/getAvailablePoints.R:18:45:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L18) *style:* **Commas should always have a space after.**
```r
    test_file(testFile, reporter = "silent",load_helpers=FALSE)
                                            ^
```
[R/getAvailablePoints.R:18:57:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L18) *style:* **Put spaces around all infix operators.**
```r
    test_file(testFile, reporter = "silent",load_helpers=FALSE)
                                                       ~^~
```
[R/getAvailablePoints.R:20:10:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/getAvailablePoints.R#L20) *warning:* **no visible binding for global variable ‘all_available_points’**
```r
  return(all_available_points)
         ^~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:2:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L2) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonResults <- function(testthatOutput) {
^~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:2:32:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L2) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonResults <- function(testthatOutput) {
                               ^~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:3:11:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L3) *style:* **Use <-, not =, for assignment.**
```r
  results = list()
          ^
```
[R/ResultsJsonParser.R:5:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L5) *style:* **Variable or function name should be snake_case.**
```r
    testName <- test$test
    ^~~~~~~~
```
[R/ResultsJsonParser.R:6:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L6) *style:* **Variable or function name should be snake_case.**
```r
    testPoints <- test$points
    ^~~~~~~~~~
```
[R/ResultsJsonParser.R:7:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L7) *style:* **Variable or function name should be snake_case.**
```r
    testMessage <- ""
    ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:10:7:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L10) *style:* **Variable or function name should be snake_case.**
```r
      testStatus <- "pass"
      ^~~~~~~~~~
```
[R/ResultsJsonParser.R:12:7:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L12) *style:* **Variable or function name should be snake_case.**
```r
      testStatus <- "fail"
      ^~~~~~~~~~
```
[R/ResultsJsonParser.R:13:7:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L13) *style:* **Variable or function name should be snake_case.**
```r
      testMessage <- .CreateMessageForTestWithFailures(test)
      ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:13:22:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L13) *warning:* **no visible global function definition for ‘.CreateMessageForTestWithFailures’**
```r
      testMessage <- .CreateMessageForTestWithFailures(test)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:16:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
    testResult <- .CreateJsonTestResult(testStatus, testName, testMessage,testPoints, "")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:16:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L16) *style:* **Variable or function name should be snake_case.**
```r
    testResult <- .CreateJsonTestResult(testStatus, testName, testMessage,testPoints, "")
    ^~~~~~~~~~
```
[R/ResultsJsonParser.R:16:19:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L16) *warning:* **no visible global function definition for ‘.CreateJsonTestResult’**
```r
    testResult <- .CreateJsonTestResult(testStatus, testName, testMessage,testPoints, "")
                  ^~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:16:75:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L16) *style:* **Commas should always have a space after.**
```r
    testResult <- .CreateJsonTestResult(testStatus, testName, testMessage,testPoints, "")
                                                                          ^
```
[R/ResultsJsonParser.R:18:29:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L18) *style:* **Put spaces around all infix operators.**
```r
    results[[length(results)+1]] <- testResult
                           ~^~
```
[R/ResultsJsonParser.R:20:10:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L20) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
  return (results)
         ^
```
[R/ResultsJsonParser.R:24:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonTestResult <- function(testStatus, testName, testMessage,
^~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:24:35:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonTestResult <- function(testStatus, testName, testMessage,
                                  ^~~~~~~~~~
```
[R/ResultsJsonParser.R:24:47:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonTestResult <- function(testStatus, testName, testMessage,
                                              ^~~~~~~~
```
[R/ResultsJsonParser.R:24:57:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonTestResult <- function(testStatus, testName, testMessage,
                                                        ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:25:35:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L25) *style:* **Variable or function name should be snake_case.**
```r
                                  testPoints, backtrace) {
                                  ^~~~~~~~~~
```
[R/ResultsJsonParser.R:26:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L26) *style:* **Variable or function name should be snake_case.**
```r
  testResult <- list(status=unbox(testStatus),
  ^~~~~~~~~~
```
[R/ResultsJsonParser.R:26:28:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L26) *style:* **Put spaces around all infix operators.**
```r
  testResult <- list(status=unbox(testStatus),
                          ~^~
```
[R/ResultsJsonParser.R:27:26:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L27) *style:* **Put spaces around all infix operators.**
```r
                     name=unbox(format(testName)),
                        ~^~
```
[R/ResultsJsonParser.R:28:29:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L28) *style:* **Put spaces around all infix operators.**
```r
                     message=unbox(testMessage),
                           ~^~
```
[R/ResultsJsonParser.R:29:31:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L29) *style:* **Put spaces around all infix operators.**
```r
                     backtrace=unbox(backtrace),
                             ~^~
```
[R/ResultsJsonParser.R:30:28:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L30) *style:* **Put spaces around all infix operators.**
```r
                     points=testPoints)
                          ~^~
```
[R/ResultsJsonParser.R:36:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L36) *style:* **Variable or function name should be snake_case.**
```r
.MessageFromFailedResult <- function(result) {
^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:42:10:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L42) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
  return (paste(sep="", "Failed with call: ", language,"\n", result$message))
         ^
```
[R/ResultsJsonParser.R:42:20:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L42) *style:* **Put spaces around all infix operators.**
```r
  return (paste(sep="", "Failed with call: ", language,"\n", result$message))
                  ~^~
```
[R/ResultsJsonParser.R:42:56:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L42) *style:* **Commas should always have a space after.**
```r
  return (paste(sep="", "Failed with call: ", language,"\n", result$message))
                                                       ^
```
[R/ResultsJsonParser.R:45:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L45) *style:* **Variable and function names should not be longer than 30 characters.**
```r
.CreateMessageForTestWithFailures <- function(test) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:45:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L45) *style:* **Variable or function name should be snake_case.**
```r
.CreateMessageForTestWithFailures <- function(test) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:46:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L46) *style:* **Variable or function name should be snake_case.**
```r
  testMessage <- ""
  ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:49:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L49) *style:* **Lines should not be more than 80 characters.**
```r
      testMessage <- paste(sep = "", testMessage, .MessageFromFailedResult(result))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:49:7:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L49) *style:* **Variable or function name should be snake_case.**
```r
      testMessage <- paste(sep = "", testMessage, .MessageFromFailedResult(result))
      ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:49:51:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L49) *warning:* **no visible global function definition for ‘.MessageFromFailedResult’**
```r
      testMessage <- paste(sep = "", testMessage, .MessageFromFailedResult(result))
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:56:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L56) *style:* **Variable or function name should be snake_case.**
```r
.WriteJson <- function(results) {
^~~~~~~~~~
```
[R/ResultsJsonParser.R:58:20:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L58) *warning:* **no visible global function definition for ‘toJSON’**
```r
  json <- enc2utf8(toJSON(results, pretty = FALSE))
                   ^~~~~~
```
[R/ResultsJsonParser.R:59:11:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L59) *warning:* **no visible global function definition for ‘prettify’, Did you mean 'pretty'?**
```r
  json <- prettify(json)
          ^~~~~~~~
```
[R/ResultsJsonParser.R:65:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L65) *style:* **Variable or function name should be snake_case.**
```r
.PrintResultsFromJson <- function(jsonResult) {
^~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:65:35:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/ResultsJsonParser.R#L65) *style:* **Variable or function name should be snake_case.**
```r
.PrintResultsFromJson <- function(jsonResult) {
                                  ^~~~~~~~~~
```
[R/RunTests.R:1:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
# Runs the tests from project directory and writes results JSON to the root of the project
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:8:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L8) *style:* **Variable or function name should be snake_case.**
```r
runTests <- function(projectPath, print=FALSE) {
^~~~~~~~
```
[R/RunTests.R:8:22:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L8) *style:* **Variable or function name should be snake_case.**
```r
runTests <- function(projectPath, print=FALSE) {
                     ^~~~~~~~~~~
```
[R/RunTests.R:9:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L9) *style:* **Variable or function name should be snake_case.**
```r
  tmcrTestRunnerProjectPath <- getwd()
  ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:12:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L12) *style:* **Variable or function name should be snake_case.**
```r
  testthatOutput <- .RunTestsProject(projectPath)
  ^~~~~~~~~~~~~~
```
[R/RunTests.R:12:21:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L12) *warning:* **no visible global function definition for ‘.RunTestsProject’**
```r
  testthatOutput <- .RunTestsProject(projectPath)
                    ^~~~~~~~~~~~~~~~
```
[R/RunTests.R:14:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L14) *style:* **Variable or function name should be snake_case.**
```r
  jsonResults <- .CreateJsonResults(testthatOutput)
  ^~~~~~~~~~~
```
[R/RunTests.R:14:18:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L14) *warning:* **no visible global function definition for ‘.CreateJsonResults’**
```r
  jsonResults <- .CreateJsonResults(testthatOutput)
                 ^~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:15:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L15) *warning:* **no visible global function definition for ‘.WriteJson’**
```r
  .WriteJson(jsonResults)
  ^~~~~~~~~~
```
[R/RunTests.R:18:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L18) *warning:* **no visible global function definition for ‘.PrintResultsFromJson’**
```r
    .PrintResultsFromJson(jsonResults)
    ^~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:24:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.RunTestsProject <- function(projectPath) {
^~~~~~~~~~~~~~~~
```
[R/RunTests.R:24:30:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.RunTestsProject <- function(projectPath) {
                             ^~~~~~~~~~~
```
[R/RunTests.R:27:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L27) *style:* **Variable or function name should be snake_case.**
```r
  testthatOutput <- list()
  ^~~~~~~~~~~~~~
```
[R/RunTests.R:30:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L30) *style:* **Lines should not be more than 80 characters.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:30:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L30) *style:* **Variable or function name should be snake_case.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
  ^~~~~~~~~
```
[R/RunTests.R:30:31:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L30) *style:* **Put spaces around all infix operators.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
                             ~^~
```
[R/RunTests.R:33:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L33) *style:* **Variable or function name should be snake_case.**
```r
    testFileOutput <- .RunTestsFile(testFile)
    ^~~~~~~~~~~~~~
```
[R/RunTests.R:33:23:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L33) *warning:* **no visible global function definition for ‘.RunTestsFile’**
```r
    testFileOutput <- .RunTestsFile(testFile)
                      ^~~~~~~~~~~~~
```
[R/RunTests.R:34:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L34) *style:* **Variable or function name should be snake_case.**
```r
    testthatOutput <- c(testthatOutput, testFileOutput)
    ^~~~~~~~~~~~~~
```
[R/RunTests.R:39:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L39) *style:* **Variable or function name should be snake_case.**
```r
.RunTestsFile <- function(filePath) {
^~~~~~~~~~~~~
```
[R/RunTests.R:39:27:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L39) *style:* **Variable or function name should be snake_case.**
```r
.RunTestsFile <- function(filePath) {
                          ^~~~~~~~
```
[R/RunTests.R:43:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L43) *style:* **Variable or function name should be snake_case.**
```r
  testFileOutput <- test_file(filePath, reporter = "silent")
  ^~~~~~~~~~~~~~
```
[R/RunTests.R:43:21:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L43) *warning:* **no visible global function definition for ‘test_file’**
```r
  testFileOutput <- test_file(filePath, reporter = "silent")
                    ^~~~~~~~~
```
[R/RunTests.R:44:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L44) *style:* **Variable or function name should be snake_case.**
```r
  testFileOutput <- .AddPointsToTestOutput(testFileOutput)
  ^~~~~~~~~~~~~~
```
[R/RunTests.R:44:21:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L44) *warning:* **no visible global function definition for ‘.AddPointsToTestOutput’**
```r
  testFileOutput <- .AddPointsToTestOutput(testFileOutput)
                    ^~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:49:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L49) *style:* **Variable or function name should be snake_case.**
```r
.AddPointsToTestOutput <- function(testOutput) {
^~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:49:36:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L49) *style:* **Variable or function name should be snake_case.**
```r
.AddPointsToTestOutput <- function(testOutput) {
                                   ^~~~~~~~~~
```
[R/RunTests.R:51:31:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L51) *warning:* **no visible global function definition for ‘.GetTestPoints’**
```r
    testOutput[[i]]$points <- .GetTestPoints(testOutput[[i]]$test)
                              ^~~~~~~~~~~~~~
```
[R/RunTests.R:56:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L56) *style:* **Variable or function name should be snake_case.**
```r
.GetTestPoints <- function(testName) {
^~~~~~~~~~~~~~
```
[R/RunTests.R:56:28:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L56) *style:* **Variable or function name should be snake_case.**
```r
.GetTestPoints <- function(testName) {
                           ^~~~~~~~
```
[R/RunTests.R:58:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L58) *style:* **Variable or function name should be snake_case.**
```r
    testPoints <- vector()
    ^~~~~~~~~~
```
[R/RunTests.R:60:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L60) *style:* **Variable or function name should be snake_case.**
```r
    testPoints <- points[[testName]]
    ^~~~~~~~~~
```
[R/RunTests.R:62:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/RunTests.R#L62) *style:* **Variable or function name should be snake_case.**
```r
  testPoints <- c(.GlobalEnv$points_for_all_tests, testPoints)
  ^~~~~~~~~~
```
[R/TestthatResultReader.R:2:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TestthatResultReader.R#L2) *style:* **Variable or function name should be snake_case.**
```r
.CheckAllTestPassed <- function(testOutput) {
^~~~~~~~~~~~~~~~~~~
```
[R/TestthatResultReader.R:2:33:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TestthatResultReader.R#L2) *style:* **Variable or function name should be snake_case.**
```r
.CheckAllTestPassed <- function(testOutput) {
                                ^~~~~~~~~~
```
[R/TestthatResultReader.R:10:10:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TestthatResultReader.R#L10) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
  return (ret)
         ^
```
[R/TestthatResultReader.R:14:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TestthatResultReader.R#L14) *style:* **Variable or function name should be snake_case.**
```r
.CheckIfTestPassed <- function(test) {
^~~~~~~~~~~~~~~~~~
```
[R/TestthatResultReader.R:22:10:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TestthatResultReader.R#L22) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
  return (ret)
         ^
```
[R/TestthatResultReader.R:26:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TestthatResultReader.R#L26) *style:* **Variable or function name should be snake_case.**
```r
.CheckIfResultPassed <- function(result) {
^~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/R/main.R:1:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_all_tests_pass/R/main.R#L1) *style:* **Variable or function name should be snake_case.**
```r
RetTrue <- function() {
^~~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/R/main.R:5:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_all_tests_pass/R/main.R#L5) *style:* **Variable or function name should be snake_case.**
```r
RetOne <- function() {
^~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/R/main.R:9:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_all_tests_pass/R/main.R#L9) *style:* **Variable or function name should be snake_case.**
```r
Add <- function(a, b) {
^~~
```
[tests/testthat/resources/simple_all_tests_pass/tests/testthat/helperTMC.R:4:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_all_tests_pass/tests/testthat/helperTMC.R#L4) *style:* **Variable or function name should be snake_case.**
```r
pointsForAllTests <- function(points) {
^~~~~~~~~~~~~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/tests/testthat/helperTMC.R:12:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_all_tests_pass/tests/testthat/helperTMC.R#L12) *warning:* **no visible global function definition for ‘test_that’**
```r
  test_that(desc, code)
  ^~~~~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/tests/testthat/testMain.R:1:9:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_all_tests_pass/tests/testthat/testMain.R#L1) *style:* **Only use double-quotes.**
```r
library('testthat')
        ^~~~~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/R/main.R:1:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_some_tests_fail/R/main.R#L1) *style:* **Variable or function name should be snake_case.**
```r
RetTrue <- function() {
^~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/R/main.R:5:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_some_tests_fail/R/main.R#L5) *style:* **Variable or function name should be snake_case.**
```r
RetOne <- function() {
^~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/R/main.R:9:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_some_tests_fail/R/main.R#L9) *style:* **Variable or function name should be snake_case.**
```r
Add <- function(a, b) {
^~~
```
[tests/testthat/resources/simple_some_tests_fail/R/main.R:13:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_some_tests_fail/R/main.R#L13) *style:* **Variable or function name should be snake_case.**
```r
RetFalse <- function() {
^~~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/tests/testthat/helperTMC.R:4:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_some_tests_fail/tests/testthat/helperTMC.R#L4) *style:* **Variable or function name should be snake_case.**
```r
pointsForAllTests <- function(points) {
^~~~~~~~~~~~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/tests/testthat/helperTMC.R:12:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_some_tests_fail/tests/testthat/helperTMC.R#L12) *warning:* **no visible global function definition for ‘test_that’**
```r
  test_that(desc, code)
  ^~~~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/tests/testthat/testMain.R:1:9:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/resources/simple_some_tests_fail/tests/testthat/testMain.R#L1) *style:* **Only use double-quotes.**
```r
library('testthat')
        ^~~~~~~~~~
```
[tests/testthat/testRunTests.R:4:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
simple_all_tests_pass_project_path <- paste(sep = "", test_resources_dir, "/simple_all_tests_pass")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:4:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L4) *style:* **Variable and function names should not be longer than 30 characters.**
```r
simple_all_tests_pass_project_path <- paste(sep = "", test_resources_dir, "/simple_all_tests_pass")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:5:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
simple_some_tests_fail_project_path <- paste(sep = "", test_resources_dir, "/simple_some_tests_fail")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:5:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L5) *style:* **Variable and function names should not be longer than 30 characters.**
```r
simple_some_tests_fail_project_path <- paste(sep = "", test_resources_dir, "/simple_some_tests_fail")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:18:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L18) *style:* **Lines should not be more than 80 characters.**
```r
test_that("Tests that pass in simple_all_tests_pass all have the point for all tests", {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:28:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L28) *style:* **Lines should not be more than 80 characters.**
```r
#It should add points to the dataframe based on which the result-file is created.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:30:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L30) *style:* **Lines should not be more than 80 characters.**
```r
  testFileOutput <- test_file(paste(sep="", simple_all_tests_pass_project_path, "/tests/testthat/testMain.R"), reporter="silent")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:30:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L30) *style:* **Variable or function name should be snake_case.**
```r
  testFileOutput <- test_file(paste(sep="", simple_all_tests_pass_project_path, "/tests/testthat/testMain.R"), reporter="silent")
  ^~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:30:40:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L30) *style:* **Put spaces around all infix operators.**
```r
  testFileOutput <- test_file(paste(sep="", simple_all_tests_pass_project_path, "/tests/testthat/testMain.R"), reporter="silent")
                                      ~^~
```
[tests/testthat/testRunTests.R:30:120:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L30) *style:* **Put spaces around all infix operators.**
```r
  testFileOutput <- test_file(paste(sep="", simple_all_tests_pass_project_path, "/tests/testthat/testMain.R"), reporter="silent")
                                                                                ~^~
```
[tests/testthat/testRunTests.R:32:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L32) *style:* **Variable or function name should be snake_case.**
```r
  testFileOutput <- .AddPointsToTestOutput(testFileOutput)
  ^~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:38:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L38) *style:* **Lines should not be more than 80 characters.**
```r
  expect_true(file.exists(paste(sep="",simple_all_tests_pass_project_path, "/.results.json")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:38:36:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L38) *style:* **Put spaces around all infix operators.**
```r
  expect_true(file.exists(paste(sep="",simple_all_tests_pass_project_path, "/.results.json")))
                                  ~^~
```
[tests/testthat/testRunTests.R:38:40:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L38) *style:* **Commas should always have a space after.**
```r
  expect_true(file.exists(paste(sep="",simple_all_tests_pass_project_path, "/.results.json")))
                                       ^
```
[tests/testthat/testRunTests.R:47:7:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L47) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(!isTRUE(all.equal(string, pass_string))) {
      ^
```
[tests/testthat/testRunTests.R:56:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L56) *style:* **Lines should not be more than 80 characters.**
```r
  expect_true(file.exists(paste(sep="", simple_some_tests_fail_project_path, "/.results.json")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:56:36:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L56) *style:* **Put spaces around all infix operators.**
```r
  expect_true(file.exists(paste(sep="", simple_some_tests_fail_project_path, "/.results.json")))
                                  ~^~
```
[tests/testthat/testRunTests.R:63:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L63) *style:* **Lines should not be more than 80 characters.**
```r
  expect_true(file.exists(paste(sep="", simple_some_tests_fail_project_path, "/.results.json")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:63:36:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L63) *style:* **Put spaces around all infix operators.**
```r
  expect_true(file.exists(paste(sep="", simple_some_tests_fail_project_path, "/.results.json")))
                                  ~^~
```
[tests/testthat/testRunTests.R:69:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L69) *style:* **Commented code should be removed.**
```r
#   runTests(simple_all_tests_pass_project_path)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:73:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L73) *style:* **Commented code should be removed.**
```r
#   string1 <- format(.PrintResult("Testi1", "!", FALSE))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:74:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L74) *style:* **Commented code should be removed.**
```r
#   string2 <- format("Testi1: PASS")
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:75:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testRunTests.R#L75) *style:* **Commented code should be removed.**
```r
#   expect_equal(string1, string2)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testTestthatResultReader.R:1:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testTestthatResultReader.R#L1) *style:* **Trailing blank lines are superfluous.**
```r

^
```


[R/Authentication.R:1:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L1) *style:* **Commented code should be removed.**
```r
# install.packages("rjson")
  ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:2:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L2) *style:* **Commented code should be removed.**
```r
# install.packages("httr")
  ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:5:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
# https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_understanding_username_password_oauth_flow.htm
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:7:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
  client_id <- "d56662a9898966d8275edb2e609bf1c52919ca7a4e3797bd663e40833522ab3b"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:9:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
  body <- paste(sep = "", "grant_type=password&client_id=", client_id, "&client_secret=", secret,"&username=",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:9:98:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L9) *style:* **Commas should always have a space after.**
```r
  body <- paste(sep = "", "grant_type=password&client_id=", client_id, "&client_secret=", secret,"&username=",
                                                                                ^
```
[R/Authentication.R:12:10:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L12) *warning:* **no visible global function definition for ‘POST’**
```r
  req <- POST(url = "https://tmc.mooc.fi/oauth/token", body = body)
         ^~~~
```
[R/Authentication.R:14:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L14) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(status_code(req)==200){
    ^
```
[R/Authentication.R:14:22:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L14) *style:* **Put spaces around all infix operators.**
```r
  if(status_code(req)==200){
                    ~^~~
```
[R/Authentication.R:16:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L16) *warning:* **no visible global function definition for ‘stop_for_status’**
```r
    stop_for_status(x = req, task = "Authenticate with TMC")
    ^~~~~~~~~~~~~~~
```
[R/Authentication.R:17:30:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L17) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
    token <- paste("Bearer", content(req)$access_token)
                             ^~~~~~~
```
[R/Authentication.R:21:12:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L21) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
    return (content(req))
           ^
```
[R/Authentication.R:21:13:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L21) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
    return (content(req))
            ^~~~~~~
```
[R/Authentication.R:29:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L29) *style:* **Lines should not be more than 80 characters.**
```r
# Temporary testing/example function that fetches the data of a single course from TMC
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:30:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L30) *style:* **Variable or function name should be snake_case.**
```r
tempGetCourse <- function(token) {
^~~~~~~~~~~~~
```
[R/Authentication.R:33:10:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L33) *warning:* **no visible global function definition for ‘GET’, Did you mean 'T'?**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
         ^~~
```
[R/Authentication.R:33:34:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L33) *warning:* **no visible global function definition for ‘add_headers’**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
                                 ^~~~~~~~~~~
```
[R/Authentication.R:34:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L34) *warning:* **no visible global function definition for ‘stop_for_status’**
```r
  stop_for_status(x = req, task = "Fetching data from the TMC API")
  ^~~~~~~~~~~~~~~
```
[R/Authentication.R:35:13:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L35) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  course <- content(req)
            ^~~~~~~
```
[R/Authentication.R:41:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L41) *style:* **Variable or function name should be snake_case.**
```r
tempGetAllCourses <- function(token, org_id) {
^~~~~~~~~~~~~~~~~
```
[R/Authentication.R:42:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L42) *style:* **Lines should not be more than 80 characters.**
```r
  url <- paste("https://tmc.mooc.fi/api/v8/core/org/", org_id, "/courses", sep = "")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:43:5:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L43) *style:* **Commented code should be removed.**
```r
  # url <- "https://tmc.mooc.fi/api/v8/core/org/hy/courses"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:46:10:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L46) *warning:* **no visible global function definition for ‘GET’, Did you mean 'T'?**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
         ^~~
```
[R/Authentication.R:46:34:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L46) *warning:* **no visible global function definition for ‘add_headers’**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
                                 ^~~~~~~~~~~
```
[R/Authentication.R:47:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L47) *warning:* **no visible global function definition for ‘stop_for_status’**
```r
  stop_for_status(x = req, task = "Fetching data from the TMC API")
  ^~~~~~~~~~~~~~~
```
[R/Authentication.R:48:14:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L48) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  courses <- content(req)
             ^~~~~~~
```
[R/Authentication.R:54:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Authentication.R#L54) *style:* **Trailing blank lines are superfluous.**
```r

^
```
[R/Example.R:1:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/Example.R#L1) *style:* **Variable or function name should be snake_case.**
```r
returnsTrue <- function() {
^~~~~~~~~~~
```
[R/TMC_plugin.R:7:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L7) *style:* **Variable or function name should be snake_case.**
```r
loginGadget <- function() {
^~~~~~~~~~~
```
[R/TMC_plugin.R:70:16:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L70) *style:* **Use <-, not =, for assignment.**
```r
      response = authenticate(input$username,input$password)
               ^
```
[R/TMC_plugin.R:70:18:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L70) *warning:* **no visible global function definition for ‘authenticate’**
```r
      response = authenticate(input$username,input$password)
                 ^~~~~~~~~~~~
```
[R/TMC_plugin.R:70:46:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L70) *style:* **Commas should always have a space after.**
```r
      response = authenticate(input$username,input$password)
                                             ^
```
[R/TMC_plugin.R:72:17:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L72) *style:* **Only use double-quotes.**
```r
      if (grepl('Bearer',response[1])) {
                ^~~~~~~~
```
[R/TMC_plugin.R:72:26:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L72) *style:* **Commas should always have a space after.**
```r
      if (grepl('Bearer',response[1])) {
                         ^
```
[R/TMC_plugin.R:81:7:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L81) *warning:* **no visible global function definition for ‘showDialog’**
```r
      showDialog(title = title, message = message, url = "")
      ^~~~~~~~~~
```
[R/TMC_plugin.R:84:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L84) *style:* **Lines should not be more than 80 characters.**
```r
    # render*-function renders UI content and corresponds to *Output-function in UI
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/TMC_plugin.R:87:12:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L87) *style:* **Variable or function name should be snake_case.**
```r
    output$courseDisplay <- renderText({
           ^~~~~~~~~~~~~
```
[R/TMC_plugin.R:91:3:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L91) *warning:* **no visible global function definition for ‘runGadget’**
```r
  runGadget(ui, server, viewer = dialogViewer("TMC login"))
  ^~~~~~~~~
```
[R/TMC_plugin.R:91:34:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/R/TMC_plugin.R#L91) *warning:* **no visible global function definition for ‘dialogViewer’**
```r
  runGadget(ui, server, viewer = dialogViewer("TMC login"))
                                 ^~~~~~~~~~~~
```
[tests/testthat/testAuthentication.R:7:1:](https://github.com/RTMC/tmc-r/blob/6d70acce3199dd4251cf523e3f0efb2df2459b1a/tests/testthat/testAuthentication.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
  expect_is(authenticate("sddsdaddsdsdadasads", "dsdasasdsdsdasdasdasd"), "list")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


`Services` must be without `'`.


试试的功能。


Hey Marius,
This is not my actual code. I juts took it and made it an HTML file. I have no idea who made up these hashes.


kl


Сделал контейнер, посмотрел видио обзор макета, теперь понял зачем тут контейнер )
Но и врапер под кнопкой пока оставлю.


Passing data to a View from Controller. Also I did multiple examples to pass in the View multiple @params


Thank you very much


Why is this required as the icon can be autoscaled?


1.数组的冒泡排序.html


I'm wondering if you shouldn't do a commit that introduces the functionnality, and another commit that starts using it. The first one is frameworky, technical, the second isn't. Moreover, it would be easier to understand how this new feature works by looking at the second commit (isolated example of how to use it).


did you check this part with @qsm-odoo ?


Yes. It was added here:

https://github.com/chamilo/chamilo-lms/commit/7dce46d96888a2eb01d835354a71dc2454fb1ec2


Good point thanks!


fair enough! I'll check what I can reuse!
Enjoy!


my_vector --> replace with Vector, see utility


Just as a side note: Pinning the needed algo is not a bad thing: https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries/

That way you can avoid that the client sends a less secure token to the server.


@KarstenHopp I like the dates better! Do you have a script that generates it? Could you please add it to the repo? We could even run it in cron on dev.fed-mod.org


Husk at sæt useSSL = false
`jdbc:mysql://localhost:3306/webapptutorial?useSSL=false`
Så undgår du error log i output console omkring ssl.

Btw hvorfor har du port på? den tager automatisk port 3306 da det er standard port? :)


Thank you!


this might be violent (basically, the form or kanban renderer will re-render itself at each field change), @ged-odoo what do you think?


![image](https://user-images.githubusercontent.com/4628541/30849820-49002dba-a2ac-11e7-9059-233966b5d46f.png)
no, it doesn't


please comment constraint_value method.


[R/Authentication.R:1:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L1) *style:* **Commented code should be removed.**
```r
# install.packages("rjson")
  ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:2:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L2) *style:* **Commented code should be removed.**
```r
# install.packages("httr")
  ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:5:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
# https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_understanding_username_password_oauth_flow.htm
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:7:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
  client_id <- "d56662a9898966d8275edb2e609bf1c52919ca7a4e3797bd663e40833522ab3b"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:9:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
  body <- paste(sep = "", "grant_type=password&client_id=", client_id, "&client_secret=", secret,"&username=",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:9:98:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L9) *style:* **Commas should always have a space after.**
```r
  body <- paste(sep = "", "grant_type=password&client_id=", client_id, "&client_secret=", secret,"&username=",
                                                                                ^
```
[R/Authentication.R:12:10:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L12) *warning:* **no visible global function definition for ‘POST’**
```r
  req <- POST(url = "https://tmc.mooc.fi/oauth/token", body = body)
         ^~~~
```
[R/Authentication.R:14:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L14) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(status_code(req)==200){
    ^
```
[R/Authentication.R:14:22:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L14) *style:* **Put spaces around all infix operators.**
```r
  if(status_code(req)==200){
                    ~^~~
```
[R/Authentication.R:16:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L16) *warning:* **no visible global function definition for ‘stop_for_status’**
```r
    stop_for_status(x = req, task = "Authenticate with TMC")
    ^~~~~~~~~~~~~~~
```
[R/Authentication.R:17:30:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L17) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
    token <- paste("Bearer", content(req)$access_token)
                             ^~~~~~~
```
[R/Authentication.R:21:12:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L21) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
    return (content(req))
           ^
```
[R/Authentication.R:21:13:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L21) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
    return (content(req))
            ^~~~~~~
```
[R/Authentication.R:29:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L29) *style:* **Lines should not be more than 80 characters.**
```r
# Temporary testing/example function that fetches the data of a single course from TMC
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:30:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L30) *style:* **Variable or function name should be snake_case.**
```r
tempGetCourse <- function(token) {
^~~~~~~~~~~~~
```
[R/Authentication.R:33:10:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L33) *warning:* **no visible global function definition for ‘GET’, Did you mean 'T'?**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
         ^~~
```
[R/Authentication.R:33:34:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L33) *warning:* **no visible global function definition for ‘add_headers’**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
                                 ^~~~~~~~~~~
```
[R/Authentication.R:34:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L34) *warning:* **no visible global function definition for ‘stop_for_status’**
```r
  stop_for_status(x = req, task = "Fetching data from the TMC API")
  ^~~~~~~~~~~~~~~
```
[R/Authentication.R:35:13:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L35) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  course <- content(req)
            ^~~~~~~
```
[R/Authentication.R:41:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L41) *style:* **Variable or function name should be snake_case.**
```r
tempGetAllCourses <- function(token, org_id) {
^~~~~~~~~~~~~~~~~
```
[R/Authentication.R:42:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L42) *style:* **Lines should not be more than 80 characters.**
```r
  url <- paste("https://tmc.mooc.fi/api/v8/core/org/", org_id, "/courses", sep = "")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:43:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L43) *style:* **Commented code should be removed.**
```r
  # url <- "https://tmc.mooc.fi/api/v8/core/org/hy/courses"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:46:10:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L46) *warning:* **no visible global function definition for ‘GET’, Did you mean 'T'?**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
         ^~~
```
[R/Authentication.R:46:34:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L46) *warning:* **no visible global function definition for ‘add_headers’**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
                                 ^~~~~~~~~~~
```
[R/Authentication.R:47:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L47) *warning:* **no visible global function definition for ‘stop_for_status’**
```r
  stop_for_status(x = req, task = "Fetching data from the TMC API")
  ^~~~~~~~~~~~~~~
```
[R/Authentication.R:48:14:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L48) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  courses <- content(req)
             ^~~~~~~
```
[R/Authentication.R:54:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Authentication.R#L54) *style:* **Trailing blank lines are superfluous.**
```r

^
```
[R/Example.R:1:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/Example.R#L1) *style:* **Variable or function name should be snake_case.**
```r
returnsTrue <- function() {
^~~~~~~~~~~
```
[R/TMC_plugin.R:7:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L7) *style:* **Variable or function name should be snake_case.**
```r
loginGadget <- function() {
^~~~~~~~~~~
```
[R/TMC_plugin.R:70:16:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L70) *style:* **Use <-, not =, for assignment.**
```r
      response = authenticate(input$username,input$password)
               ^
```
[R/TMC_plugin.R:70:18:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L70) *warning:* **no visible global function definition for ‘authenticate’**
```r
      response = authenticate(input$username,input$password)
                 ^~~~~~~~~~~~
```
[R/TMC_plugin.R:70:46:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L70) *style:* **Commas should always have a space after.**
```r
      response = authenticate(input$username,input$password)
                                             ^
```
[R/TMC_plugin.R:72:17:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L72) *style:* **Only use double-quotes.**
```r
      if (grepl('Bearer',response[1])) {
                ^~~~~~~~
```
[R/TMC_plugin.R:72:26:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L72) *style:* **Commas should always have a space after.**
```r
      if (grepl('Bearer',response[1])) {
                         ^
```
[R/TMC_plugin.R:81:7:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L81) *warning:* **no visible global function definition for ‘showDialog’**
```r
      showDialog(title = title, message = message, url = "")
      ^~~~~~~~~~
```
[R/TMC_plugin.R:84:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L84) *style:* **Lines should not be more than 80 characters.**
```r
    # render*-function renders UI content and corresponds to *Output-function in UI
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/TMC_plugin.R:87:12:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L87) *style:* **Variable or function name should be snake_case.**
```r
    output$courseDisplay <- renderText({
           ^~~~~~~~~~~~~
```
[R/TMC_plugin.R:91:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L91) *warning:* **no visible global function definition for ‘runGadget’**
```r
  runGadget(ui, server, viewer = dialogViewer("TMC login"))
  ^~~~~~~~~
```
[R/TMC_plugin.R:91:34:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TMC_plugin.R#L91) *warning:* **no visible global function definition for ‘dialogViewer’**
```r
  runGadget(ui, server, viewer = dialogViewer("TMC login"))
                                 ^~~~~~~~~~~~
```
[tests/testthat/testAuthentication.R:7:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testAuthentication.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
  expect_is(authenticate("sddsdaddsdsdadasads", "dsdasasdsdsdasdasdasd"), "list")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


Puedes organizar los ejercicios por carpetas, donde cada carpeta sea los ejercicios de un tema o de un hito


openocd jtag shikra configfile