19 lines
762 B
R
19 lines
762 B
R
setClass("B", contains = "numeric")
|
|
xx <- new("B", 1)
|
|
names(xx) <- "A"
|
|
stopifnot(identical(names(xx), "A"))
|
|
setClass("A", representation(xx = "numeric"))
|
|
a <- new("A", xx = 1)
|
|
stopifnot(is(tryCatch(names(a) <- "A" , error = function(e)e), "error"))
|
|
setClass("C", representation(xx = "numeric", names= "character"))
|
|
c <- new("C", xx = 1, names = "A")
|
|
c@names <- "B"
|
|
stopifnot(is(tryCatch(names(c) <- "A" , error = function(e)e), "error"))
|
|
setClass("D", contains = "numeric", representation(names = "character"))
|
|
d <- new("D", 1)
|
|
names(d) <- "A"
|
|
stopifnot(identical(d@names, "A"))
|
|
## test the checks on @<- primitive assignment
|
|
stopifnot(is(tryCatch(a@yy <- 1 , error = function(e)e), "error"))
|
|
stopifnot(is(tryCatch(a@xx <- "A" , error = function(e)e), "error"))
|