| 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")) |