Nothing
#############################################################################
##
## Copyright 2016 Novartis Institutes for BioMedical Research Inc.
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
## You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
#############################################################################
context("H5S")
test_that("Setting different types of dataspaces", {
ds_simple <- H5S$new(type="simple")
ds_scalar <- H5S$new(type="scalar")
ds_null <- H5S$new(type="null")
## check that the types are as expected
expect_true(ds_simple$get_select_type() == "H5S_SEL_ALL")
expect_equal(ds_simple$get_simple_extent_type(), h5const$H5S_SIMPLE)
expect_equal(ds_scalar$get_simple_extent_type(), h5const$H5S_SCALAR)
expect_equal(ds_null$get_simple_extent_type(), h5const$H5S_NULL)
})
test_that("Setting extensions of dataspace", {
## create one with extent set immediately
## then one where the extent is set after creation
ds_extent_new <- H5S$new(dims=as.double(c(4,6,3,4)), maxdims=c(Inf, 6, Inf, 8))
ds_extent_later <- H5S$new(type="simple")
ds_extent_later$set_extent_simple(dims=c(4,6,3,4), maxdims=c(Inf, 6, Inf, 8))
expect_true(ds_extent_new$extent_equal(ds_extent_later))
})
test_that("Retrieving dimensions", {
ds_simple <- H5S$new(type="simple", dims=c(10,20), maxdims=c(Inf, 30))
ds_scalar <- H5S$new(type="scalar")
ds_null <- H5S$new(type="null")
expect_equal(ds_null$dims, NULL)
expect_equal(ds_null$maxdims, NULL)
expect_equal(ds_scalar$dims, integer(0))
expect_equal(ds_scalar$maxdims, integer(0))
expect_equal(ds_simple$dims, c(10,20))
expect_equal(ds_simple$maxdims, c(Inf, 30))
})
test_that("Setting and retrieving hyperslabs", {
## create a simple DS, select two hyperslabs, overlapping, with AND and OR
ds_simple <- H5S$new(type="simple", dims=c(10,10,40), maxdims=c(Inf, Inf, Inf))
ds_simple$select_hyperslab(start=c(2,3,2), count=c(2,1,1), block=c(2,3,2), stride=c(3,5,3), op=h5const$H5S_SELECT_SET)
blocks <- ds_simple$get_select_hyper_nblocks()
blocklist <- ds_simple$get_select_hyper_blocklist()
## now check that the blocklist is as expected
expect_equal(blocks, 2)
expect_equal(blocklist, structure(matrix(c(2,3,2, 3, 5, 3, 5, 3, 2, 6, 5, 3), ncol=3, byrow=TRUE),
dimnames=list(c("block_1_start", "block_1_end", "block_2_start", "block_2_end"), NULL)))
})
test_that("Testing encode/decode as well as copy", {
## create a new dataspace, , encode it, then decode it again, then compare
## the old one to the new one
ds_simple <- H5S$new(type="simple", dims=c(10,10,40), maxdims=c(Inf, Inf, Inf))
ds_simple$select_hyperslab(start=c(2,3,2), count=c(2,1,1), block=c(2,3,2), stride=c(3,5,3), op=h5const$H5S_SELECT_SET)
buf <- ds_simple$encode()
ds_decode <- H5S$new(decode_buf=buf)
ds_copy <- ds_simple$copy()
## now check that in various aspects, the new and the old dataspace are identical
expect_equal(ds_simple$get_select_type(), ds_decode$get_select_type())
expect_equal(ds_simple$get_select_hyper_blocklist(), ds_decode$get_select_hyper_blocklist())
expect_equal(ds_simple$get_select_type(), ds_copy$get_select_type())
expect_equal(ds_simple$get_select_hyper_blocklist(), ds_copy$get_select_hyper_blocklist())
## ds_simple$offset_simple(c(5,1,1))
## ds_simple$select_valid()
## ds_simple$offset_simple(c(6,1,1))
## ds_simple$select_valid()
})
test_that("Setting of individual points", {
ds_simple <- H5S$new(type="simple", dims=c(12,10,40), maxdims=c(Inf, Inf, Inf))
coords <- matrix(c(1:5, 2:6, 3:7), ncol=3)
ds_simple$select_elements(coord=coords, byrow=TRUE)
coords_selected <- ds_simple$get_select_elem_pointlist()
expect_equal(coords, coords_selected)
## now add the selection using an AND statement
ds_simple$select_elements(coord=c(2,3,4), op=h5const$H5S_SELECT_APPEND)
coords_selected_2 <- ds_simple$get_select_elem_pointlist()
expect_equal(rbind(coords, c(2,3,4)), coords_selected_2)
## ds_simple$offset_simple(c(9,1,1))
## ds_simple$get_select_bounds()
## ds_simple$select_valid()
## ds_simple$offset_simple(c(10,1,1))
## ds_simple$get_select_bounds()
## ds_simple$select_valid()
## ds_simple$offset_simple(c(11,1,1))
## ds_simple$get_select_bounds()
## ds_simple$select_valid()
## ds_simple <- H5S$new(type="simple", dims=c(5,10,20), maxdims=c(Inf, Inf, Inf))
## ds_simple$select_elements(coord=c(1,1,1), byrow=TRUE)
## ds_simple$select_valid()
## ds_simple$offset_simple(NULL)
## ds_simple$get_select_bounds()
## ds_simple$select_valid()
## ds_simple$offset_simple(c(4,0,0))
## ds_simple$get_select_bounds()
## ds_simple$select_valid()
## ds_simple$offset_simple(c(5,0,0))
## ds_simple$get_select_bounds()
## ds_simple$select_valid()
## ds_simple$offset_simple(c(6,0,0))
## ds_simple$get_select_bounds()
## ds_simple$select_valid()
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.