[ARVADOS] updated: 1.1.2-116-gdefe89e
Git user
git at public.curoverse.com
Fri Jan 12 10:27:00 EST 2018
Summary of changes:
sdk/R/R/CollectionTree.R | 6 ++--
sdk/R/R/util.R | 15 ++++++++
.../R/tests/testthat/test-Subcollection.R | 0
sdk/R/tests/testthat/test-util.R | 41 ++++++++++++++++++++++
4 files changed, 59 insertions(+), 3 deletions(-)
create mode 100644 sdk/R/R/util.R
copy tools/crunchstat-summary/tests/__init__.py => sdk/R/tests/testthat/test-Subcollection.R (100%)
create mode 100644 sdk/R/tests/testthat/test-util.R
via defe89ef5c3e8995b275120f060cf85296f6396b (commit)
from b5c2d27b55ff8490818548bc077975fbf37b3a1f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit defe89ef5c3e8995b275120f060cf85296f6396b
Author: Fuad Muhic <fmuhic at capeannenterprises.com>
Date: Fri Jan 12 16:25:51 2018 +0100
Added two utility functions and created unit test for them.
Arvados-DCO-1.1-Signed-off-by: Fuad Muhic <fmuhic at capeannenterprises.com>
diff --git a/sdk/R/R/CollectionTree.R b/sdk/R/R/CollectionTree.R
index b95b797..40cedef 100644
--- a/sdk/R/R/CollectionTree.R
+++ b/sdk/R/R/CollectionTree.R
@@ -1,6 +1,6 @@
source("./R/Subcollection.R")
-
source("./R/ArvadosFile.R")
+source("./R/util.R")
#' Arvados Collection Object
#'
@@ -37,8 +37,8 @@ CollectionTree <- R6::R6Class(
getElement = function(relativePath)
{
- if(startsWith(relativePath, "./"))
- relativePath <- substr(relativePath, 3, nchar(relativePath))
+ relativePath <- trimFromStart(relativePath, "./")
+ relativePath <- trimFromEnd(relativePath, "/")
if(endsWith(relativePath, "/"))
relativePath <- substr(relativePath, 0, nchar(relativePath) - 1)
diff --git a/sdk/R/R/util.R b/sdk/R/R/util.R
new file mode 100644
index 0000000..8d4bcc0
--- /dev/null
+++ b/sdk/R/R/util.R
@@ -0,0 +1,15 @@
+trimFromStart <- function(sample, trimCharacters)
+{
+ if(startsWith(sample, trimCharacters))
+ sample <- substr(sample, nchar(trimCharacters) + 1, nchar(sample))
+
+ sample
+}
+
+trimFromEnd <- function(sample, trimCharacters)
+{
+ if(endsWith(sample, trimCharacters))
+ sample <- substr(sample, 0, nchar(sample) - nchar(trimCharacters))
+
+ sample
+}
diff --git a/sdk/R/tests/testthat/test-Subcollection.R b/sdk/R/tests/testthat/test-Subcollection.R
new file mode 100644
index 0000000..e69de29
diff --git a/sdk/R/tests/testthat/test-util.R b/sdk/R/tests/testthat/test-util.R
new file mode 100644
index 0000000..a897860
--- /dev/null
+++ b/sdk/R/tests/testthat/test-util.R
@@ -0,0 +1,41 @@
+context("Utility function")
+
+test_that("trimFromStart trims string correctly if string starts with trimCharacters", {
+
+ sample <- "./something/random"
+ trimCharacters <- "./something/"
+
+ result <- trimFromStart(sample, trimCharacters)
+
+ expect_that(result, equals("random"))
+})
+
+test_that("trimFromStart returns original string if string doesn't starts with trimCharacters", {
+
+ sample <- "./something/random"
+ trimCharacters <- "./nothing/"
+
+ result <- trimFromStart(sample, trimCharacters)
+
+ expect_that(result, equals("./something/random"))
+})
+
+test_that("trimFromEnd trims string correctly if string ends with trimCharacters", {
+
+ sample <- "./something/random"
+ trimCharacters <- "/random"
+
+ result <- trimFromEnd(sample, trimCharacters)
+
+ expect_that(result, equals("./something"))
+})
+
+test_that("trimFromEnd returns original string if string doesn't end with trimCharacters", {
+
+ sample <- "./something/random"
+ trimCharacters <- "specific"
+
+ result <- trimFromStart(sample, trimCharacters)
+
+ expect_that(result, equals("./something/random"))
+})
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list