tests/testthat/test-subsetting.R

context("UFO vector subsetting")

test_ufo_subset <- function (data, subscript, ufo_constructor) {
  ufo <- ufo_constructor(length(data))
  ufo[seq_len(length(data))] <- data
  result <- ufovectors::ufo_subset(ufo, subscript)
  expect_equal(result, data[subscript])
}

test_that("ufo integer subset: NULL",           {test_ufo_subset(data=as.integer(1:100000), subscript=NULL,               ufo_integer)})
test_that("ufo numeric subset: NULL",           {test_ufo_subset(data=as.numeric(1:100000), subscript=NULL,               ufo_numeric)})
test_that("ufo raw subset: NULL",               {test_ufo_subset(data=as.raw(1:100000),     subscript=NULL,               ufo_raw)})
test_that("ufo logical subset: NULL",           {test_ufo_subset(data=as.logical(1:100000), subscript=NULL,               ufo_logical)})
test_that("ufo complex subset: NULL",           {test_ufo_subset(data=as.complex(1:100000), subscript=NULL,               ufo_complex)})

test_that("ufo integer subset: num 0",          {test_ufo_subset(data=as.integer(1:100000), subscript=0,                  ufo_integer)})
test_that("ufo integer subset: num 1",          {test_ufo_subset(data=as.integer(1:100000), subscript=1,                  ufo_integer)})
test_that("ufo integer subset: num N/2",        {test_ufo_subset(data=as.integer(1:100000), subscript=50000,              ufo_integer)})
test_that("ufo integer subset: num N",          {test_ufo_subset(data=as.integer(1:100000), subscript=100000,             ufo_integer)})
test_that("ufo integer subset: num 1:10",       {test_ufo_subset(data=as.integer(1:100000), subscript=1:10,               ufo_integer)})
test_that("ufo integer subset: num 1:1000",     {test_ufo_subset(data=as.integer(1:100000), subscript=1:1000,             ufo_integer)})
test_that("ufo integer subset: num 1:N",        {test_ufo_subset(data=as.integer(1:100000), subscript=1:100000,           ufo_integer)})
test_that("ufo integer subset: num N/2:N",      {test_ufo_subset(data=as.integer(1:100000), subscript=50000:100000,       ufo_integer)})
test_that("ufo integer subset: num 2*(2:N/2)",  {test_ufo_subset(data=as.integer(1:100000), subscript=2*(1:50000),        ufo_integer)})
test_that("ufo integer subset: num -1",         {test_ufo_subset(data=as.integer(1:100000), subscript=-1,                 ufo_integer)})
test_that("ufo integer subset: num -(N/2)",     {test_ufo_subset(data=as.integer(1:100000), subscript=-50000,             ufo_integer)})
test_that("ufo integer subset: num -N",         {test_ufo_subset(data=as.integer(1:100000), subscript=-100000,            ufo_integer)})
test_that("ufo integer subset: num -(1:10)",    {test_ufo_subset(data=as.integer(1:100000), subscript=-(1:10),            ufo_integer)})
test_that("ufo integer subset: num -(1:1000)",  {test_ufo_subset(data=as.integer(1:100000), subscript=-(1:1000),          ufo_integer)})
test_that("ufo integer subset: num -(1:N)",     {test_ufo_subset(data=as.integer(1:100000), subscript=-(1:100000),        ufo_integer)})
test_that("ufo integer subset: num -(N/2:N)",   {test_ufo_subset(data=as.integer(1:100000), subscript=-(50000:100000),    ufo_integer)})
test_that("ufo integer subset: num -2*(2:N/2)", {test_ufo_subset(data=as.integer(1:100000), subscript=-2*(1:50000),       ufo_integer)})

test_that("ufo numeric subset: num 0",          {test_ufo_subset(data=as.numeric(1:100000), subscript=0,                  ufo_numeric)})
test_that("ufo numeric subset: num 1",          {test_ufo_subset(data=as.numeric(1:100000), subscript=1,                  ufo_numeric)})
test_that("ufo numeric subset: num N/2",        {test_ufo_subset(data=as.numeric(1:100000), subscript=50000,              ufo_numeric)})
test_that("ufo numeric subset: num N",          {test_ufo_subset(data=as.numeric(1:100000), subscript=100000,             ufo_numeric)})
test_that("ufo numeric subset: num 1:10",       {test_ufo_subset(data=as.numeric(1:100000), subscript=1:10,               ufo_numeric)})
test_that("ufo numeric subset: num 1:1000",     {test_ufo_subset(data=as.numeric(1:100000), subscript=1:1000,             ufo_numeric)})
test_that("ufo numeric subset: num 1:N",        {test_ufo_subset(data=as.numeric(1:100000), subscript=1:100000,           ufo_numeric)})
test_that("ufo numeric subset: num N/2:N",      {test_ufo_subset(data=as.numeric(1:100000), subscript=50000:100000,       ufo_numeric)})
test_that("ufo numeric subset: num 2*(2:N/2)",  {test_ufo_subset(data=as.numeric(1:100000), subscript=2*(1:50000),        ufo_numeric)})
test_that("ufo numeric subset: num -1",         {test_ufo_subset(data=as.numeric(1:100000), subscript=-1,                 ufo_numeric)})
test_that("ufo numeric subset: num -(N/2)",     {test_ufo_subset(data=as.numeric(1:100000), subscript=-50000,             ufo_numeric)})
test_that("ufo numeric subset: num -N",         {test_ufo_subset(data=as.numeric(1:100000), subscript=-100000,            ufo_numeric)})
test_that("ufo numeric subset: num -(1:10)",    {test_ufo_subset(data=as.numeric(1:100000), subscript=-(1:10),            ufo_numeric)})
test_that("ufo numeric subset: num -(1:1000)",  {test_ufo_subset(data=as.numeric(1:100000), subscript=-(1:1000),          ufo_numeric)})
test_that("ufo numeric subset: num -(1:N)",     {test_ufo_subset(data=as.numeric(1:100000), subscript=-(1:100000),        ufo_numeric)})
test_that("ufo numeric subset: num -(N/2:N)",   {test_ufo_subset(data=as.numeric(1:100000), subscript=-(50000:100000),    ufo_numeric)})
test_that("ufo numeric subset: num -2*(2:N/2)", {test_ufo_subset(data=as.numeric(1:100000), subscript=-2*(1:50000),       ufo_numeric)})

test_that("ufo complex subset: num 0",          {test_ufo_subset(data=as.complex(1:100000), subscript=0,                  ufo_complex)})
test_that("ufo complex subset: num 1",          {test_ufo_subset(data=as.complex(1:100000), subscript=1,                  ufo_complex)})
test_that("ufo complex subset: num N/2",        {test_ufo_subset(data=as.complex(1:100000), subscript=50000,              ufo_complex)})
test_that("ufo complex subset: num N",          {test_ufo_subset(data=as.complex(1:100000), subscript=100000,             ufo_complex)})
test_that("ufo complex subset: num 1:10",       {test_ufo_subset(data=as.complex(1:100000), subscript=1:10,               ufo_complex)})
test_that("ufo complex subset: num 1:1000",     {test_ufo_subset(data=as.complex(1:100000), subscript=1:1000,             ufo_complex)})
test_that("ufo complex subset: num 1:N",        {test_ufo_subset(data=as.complex(1:100000), subscript=1:100000,           ufo_complex)})
test_that("ufo complex subset: num N/2:N",      {test_ufo_subset(data=as.complex(1:100000), subscript=50000:100000,       ufo_complex)})
test_that("ufo complex subset: num 2*(2:N/2)",  {test_ufo_subset(data=as.complex(1:100000), subscript=2*(1:50000),        ufo_complex)})
test_that("ufo complex subset: num -1",         {test_ufo_subset(data=as.complex(1:100000), subscript=-1,                 ufo_complex)})
test_that("ufo complex subset: num -(N/2)",     {test_ufo_subset(data=as.complex(1:100000), subscript=-50000,             ufo_complex)})
test_that("ufo complex subset: num -N",         {test_ufo_subset(data=as.complex(1:100000), subscript=-100000,            ufo_complex)})
test_that("ufo complex subset: num -(1:10)",    {test_ufo_subset(data=as.complex(1:100000), subscript=-(1:10),            ufo_complex)})
test_that("ufo complex subset: num -(1:1000)",  {test_ufo_subset(data=as.complex(1:100000), subscript=-(1:1000),          ufo_complex)})
test_that("ufo complex subset: num -(1:N)",     {test_ufo_subset(data=as.complex(1:100000), subscript=-(1:100000),        ufo_complex)})
test_that("ufo complex subset: num -(N/2:N)",   {test_ufo_subset(data=as.complex(1:100000), subscript=-(50000:100000),    ufo_complex)})
test_that("ufo complex subset: num -2*(2:N/2)", {test_ufo_subset(data=as.complex(1:100000), subscript=-2*(1:50000),       ufo_complex)})

test_that("ufo raw subset: num 0",              {test_ufo_subset(data=as.raw(1:100000),     subscript=0,                  ufo_raw)})
test_that("ufo raw subset: num 1",              {test_ufo_subset(data=as.raw(1:100000),     subscript=1,                  ufo_raw)})
test_that("ufo raw subset: num N/2",            {test_ufo_subset(data=as.raw(1:100000),     subscript=50000,              ufo_raw)})
test_that("ufo raw subset: num N",              {test_ufo_subset(data=as.raw(1:100000),     subscript=100000,             ufo_raw)})
test_that("ufo raw subset: num 1:10",           {test_ufo_subset(data=as.raw(1:100000),     subscript=1:10,               ufo_raw)})
test_that("ufo raw subset: num 1:1000",         {test_ufo_subset(data=as.raw(1:100000),     subscript=1:1000,             ufo_raw)})
test_that("ufo raw subset: num 1:N",            {test_ufo_subset(data=as.raw(1:100000),     subscript=1:100000,           ufo_raw)})
test_that("ufo raw subset: num N/2:N",          {test_ufo_subset(data=as.raw(1:100000),     subscript=50000:100000,       ufo_raw)})
test_that("ufo raw subset: num 2*(2:N/2)",      {test_ufo_subset(data=as.raw(1:100000),     subscript=2*(1:50000),        ufo_raw)})
test_that("ufo raw subset: num -1",             {test_ufo_subset(data=as.raw(1:100000),     subscript=-1,                 ufo_raw)})
test_that("ufo raw subset: num -(N/2)",         {test_ufo_subset(data=as.raw(1:100000),     subscript=-50000,             ufo_raw)})
test_that("ufo raw subset: num -N",             {test_ufo_subset(data=as.raw(1:100000),     subscript=-100000,            ufo_raw)})
test_that("ufo raw subset: num -(1:10)",        {test_ufo_subset(data=as.raw(1:100000),     subscript=-(1:10),            ufo_raw)})
test_that("ufo raw subset: num -(1:1000)",      {test_ufo_subset(data=as.raw(1:100000),     subscript=-(1:1000),          ufo_raw)})
test_that("ufo raw subset: num -(1:N)",         {test_ufo_subset(data=as.raw(1:100000),     subscript=-(1:100000),        ufo_raw)})
test_that("ufo raw subset: num -(N/2:N)",       {test_ufo_subset(data=as.raw(1:100000),     subscript=-(50000:100000),    ufo_raw)})
test_that("ufo raw subset: num -2*(2:N/2)",     {test_ufo_subset(data=as.raw(1:100000),     subscript=-2*(1:50000),       ufo_raw)})

test_that("ufo logical subset: num 0",          {test_ufo_subset(data=as.logical(1:100000), subscript=0,                  ufo_logical)})
test_that("ufo logical subset: num 1",          {test_ufo_subset(data=as.logical(1:100000), subscript=1,                  ufo_logical)})
test_that("ufo logical subset: num N/2",        {test_ufo_subset(data=as.logical(1:100000), subscript=50000,              ufo_logical)})
test_that("ufo logical subset: num N",          {test_ufo_subset(data=as.logical(1:100000), subscript=100000,             ufo_logical)})
test_that("ufo logical subset: num 1:10",       {test_ufo_subset(data=as.logical(1:100000), subscript=1:10,               ufo_logical)})
test_that("ufo logical subset: num 1:1000",     {test_ufo_subset(data=as.logical(1:100000), subscript=1:1000,             ufo_logical)})
test_that("ufo logical subset: num 1:N",        {test_ufo_subset(data=as.logical(1:100000), subscript=1:100000,           ufo_logical)})
test_that("ufo logical subset: num N/2:N",      {test_ufo_subset(data=as.logical(1:100000), subscript=50000:100000,       ufo_logical)})
test_that("ufo logical subset: num 2*(2:N/2)",  {test_ufo_subset(data=as.logical(1:100000), subscript=2*(1:50000),        ufo_logical)})
test_that("ufo logical subset: num -1",         {test_ufo_subset(data=as.logical(1:100000), subscript=-1,                 ufo_logical)})
test_that("ufo logical subset: num -(N/2)",     {test_ufo_subset(data=as.logical(1:100000), subscript=-50000,             ufo_logical)})
test_that("ufo logical subset: num -N",         {test_ufo_subset(data=as.logical(1:100000), subscript=-100000,            ufo_logical)})
test_that("ufo logical subset: num -(1:10)",    {test_ufo_subset(data=as.logical(1:100000), subscript=-(1:10),            ufo_logical)})
test_that("ufo logical subset: num -(1:1000)",  {test_ufo_subset(data=as.logical(1:100000), subscript=-(1:1000),          ufo_logical)})
test_that("ufo logical subset: num -(1:N)",     {test_ufo_subset(data=as.logical(1:100000), subscript=-(1:100000),        ufo_logical)})
test_that("ufo logical subset: num -(N/2:N)",   {test_ufo_subset(data=as.logical(1:100000), subscript=-(50000:100000),    ufo_logical)})
test_that("ufo logical subset: num -2*(2:N/2)", {test_ufo_subset(data=as.logical(1:100000), subscript=-2*(1:50000),       ufo_logical)})

test_that("ufo string subset: num 0",           {test_ufo_subset(data=as.character(1:100000), subscript=0,                ufo_character)})
test_that("ufo string subset: num 1",           {test_ufo_subset(data=as.character(1:100000), subscript=1,                ufo_character)})
test_that("ufo string subset: num N/2",         {test_ufo_subset(data=as.character(1:100000), subscript=50000,            ufo_character)})
test_that("ufo string subset: num N",           {test_ufo_subset(data=as.character(1:100000), subscript=100000,           ufo_character)})
test_that("ufo string subset: num 1:10",        {test_ufo_subset(data=as.character(1:100000), subscript=1:10,             ufo_character)})
test_that("ufo string subset: num 1:1000",      {test_ufo_subset(data=as.character(1:100000), subscript=1:1000,           ufo_character)})
test_that("ufo string subset: num 1:N",         {test_ufo_subset(data=as.character(1:100000), subscript=1:100000,         ufo_character)})
test_that("ufo string subset: num N/2:N",       {test_ufo_subset(data=as.character(1:100000), subscript=50000:100000,     ufo_character)})
test_that("ufo string subset: num 2*(2:N/2)",   {test_ufo_subset(data=as.character(1:100000), subscript=2*(1:50000),      ufo_character)})
test_that("ufo string subset: num -1",          {test_ufo_subset(data=as.character(1:100000), subscript=-1,               ufo_character)})
test_that("ufo string subset: num -(N/2)",      {test_ufo_subset(data=as.character(1:100000), subscript=-50000,           ufo_character)})
test_that("ufo string subset: num -N",          {test_ufo_subset(data=as.character(1:100000), subscript=-100000,          ufo_character)})
test_that("ufo string subset: num -(1:10)",     {test_ufo_subset(data=as.character(1:100000), subscript=-(1:10),          ufo_character)})
test_that("ufo string subset: num -(1:1000)",   {test_ufo_subset(data=as.character(1:100000), subscript=-(1:1000),        ufo_character)})
test_that("ufo string subset: num -(1:N)",      {test_ufo_subset(data=as.character(1:100000), subscript=-(1:100000),      ufo_character)})
test_that("ufo string subset: num -(N/2:N)",    {test_ufo_subset(data=as.character(1:100000), subscript=-(50000:100000),  ufo_character)})
test_that("ufo string subset: num -2*(2:N/2)",  {test_ufo_subset(data=as.character(1:100000), subscript=-2*(1:50000),     ufo_character)})

test_that("ufo integer subset: int 0",          {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(0),                  ufo_integer)})
test_that("ufo integer subset: int 1",          {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(1),                  ufo_integer)})
test_that("ufo integer subset: int N/2",        {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(50000),              ufo_integer)})
test_that("ufo integer subset: int N",          {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(100000),             ufo_integer)})
test_that("ufo integer subset: int 1:10",       {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(1:10),               ufo_integer)})
test_that("ufo integer subset: int 1:1000",     {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(1:1000),             ufo_integer)})
test_that("ufo integer subset: int 1:N",        {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(1:100000),           ufo_integer)})
test_that("ufo integer subset: int N/2:N",      {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(50000:100000),       ufo_integer)})
test_that("ufo integer subset: int 2*(2:N/2)",  {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(2*(1:50000)),        ufo_integer)})
test_that("ufo integer subset: int -1",         {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(-1),                 ufo_integer)})
test_that("ufo integer subset: int -(N/2)",     {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(-50000),             ufo_integer)})
test_that("ufo integer subset: int -N",         {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(-100000),            ufo_integer)})
test_that("ufo integer subset: int -(1:10)",    {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(-(1:10)),            ufo_integer)})
test_that("ufo integer subset: int -(1:1000)",  {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(-(1:1000)),          ufo_integer)})
test_that("ufo integer subset: int -(1:N)",     {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(-(1:100000)),        ufo_integer)})
test_that("ufo integer subset: int -(N/2:N)",   {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(-(50000:100000)),    ufo_integer)})
test_that("ufo integer subset: int -2*(2:N/2)", {test_ufo_subset(data=as.integer(1:100000), subscript=as.integer(-2*(1:50000)),       ufo_integer)})

test_that("ufo numeric subset: int 0",          {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(0),                  ufo_numeric)})
test_that("ufo numeric subset: int 1",          {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(1),                  ufo_numeric)})
test_that("ufo numeric subset: int N/2",        {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(50000),              ufo_numeric)})
test_that("ufo numeric subset: int N",          {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(100000),             ufo_numeric)})
test_that("ufo numeric subset: int 1:10",       {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(1:10),               ufo_numeric)})
test_that("ufo numeric subset: int 1:1000",     {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(1:1000),             ufo_numeric)})
test_that("ufo numeric subset: int 1:N",        {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(1:100000),           ufo_numeric)})
test_that("ufo numeric subset: int N/2:N",      {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(50000:100000),       ufo_numeric)})
test_that("ufo numeric subset: int 2*(2:N/2)",  {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(2*(1:50000)),        ufo_numeric)})
test_that("ufo numeric subset: int -1",         {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(-1),                 ufo_numeric)})
test_that("ufo numeric subset: int -(N/2)",     {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(-50000),             ufo_numeric)})
test_that("ufo numeric subset: int -N",         {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(-100000),            ufo_numeric)})
test_that("ufo numeric subset: int -(1:10)",    {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(-(1:10)),            ufo_numeric)})
test_that("ufo numeric subset: int -(1:1000)",  {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(-(1:1000)),          ufo_numeric)})
test_that("ufo numeric subset: int -(1:N)",     {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(-(1:100000)),        ufo_numeric)})
test_that("ufo numeric subset: int -(N/2:N)",   {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(-(50000:100000)),    ufo_numeric)})
test_that("ufo numeric subset: int -2*(2:N/2)", {test_ufo_subset(data=as.numeric(1:100000), subscript=as.integer(-2*(1:50000)),       ufo_numeric)})

test_that("ufo complex subset: int 0",          {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(0),                  ufo_complex)})
test_that("ufo complex subset: int 1",          {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(1),                  ufo_complex)})
test_that("ufo complex subset: int N/2",        {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(50000),              ufo_complex)})
test_that("ufo complex subset: int N",          {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(100000),             ufo_complex)})
test_that("ufo complex subset: int 1:10",       {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(1:10),               ufo_complex)})
test_that("ufo complex subset: int 1:1000",     {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(1:1000),             ufo_complex)})
test_that("ufo complex subset: int 1:N",        {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(1:100000),           ufo_complex)})
test_that("ufo complex subset: int N/2:N",      {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(50000:100000),       ufo_complex)})
test_that("ufo complex subset: int 2*(2:N/2)",  {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(2*(1:50000)),        ufo_complex)})
test_that("ufo complex subset: int -1",         {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(-1),                 ufo_complex)})
test_that("ufo complex subset: int -(N/2)",     {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(-50000),             ufo_complex)})
test_that("ufo complex subset: int -N",         {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(-100000),            ufo_complex)})
test_that("ufo complex subset: int -(1:10)",    {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(-(1:10)),            ufo_complex)})
test_that("ufo complex subset: int -(1:1000)",  {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(-(1:1000)),          ufo_complex)})
test_that("ufo complex subset: int -(1:N)",     {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(-(1:100000)),        ufo_complex)})
test_that("ufo complex subset: int -(N/2:N)",   {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(-(50000:100000)),    ufo_complex)})
test_that("ufo complex subset: int -2*(2:N/2)", {test_ufo_subset(data=as.complex(1:100000), subscript=as.integer(-2*(1:50000)),       ufo_complex)})

test_that("ufo raw subset: int 0",              {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(0),                  ufo_raw)})
test_that("ufo raw subset: int 1",              {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(1),                  ufo_raw)})
test_that("ufo raw subset: int N/2",            {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(50000),              ufo_raw)})
test_that("ufo raw subset: int N",              {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(100000),             ufo_raw)})
test_that("ufo raw subset: int 1:10",           {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(1:10),               ufo_raw)})
test_that("ufo raw subset: int 1:1000",         {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(1:1000),             ufo_raw)})
test_that("ufo raw subset: int 1:N",            {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(1:100000),           ufo_raw)})
test_that("ufo raw subset: int N/2:N",          {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(50000:100000),       ufo_raw)})
test_that("ufo raw subset: int 2*(2:N/2)",      {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(2*(1:50000)),        ufo_raw)})
test_that("ufo raw subset: int -1",             {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(-1),                 ufo_raw)})
test_that("ufo raw subset: int -(N/2)",         {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(-50000),             ufo_raw)})
test_that("ufo raw subset: int -N",             {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(-100000),            ufo_raw)})
test_that("ufo raw subset: int -(1:10)",        {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(-(1:10)),            ufo_raw)})
test_that("ufo raw subset: int -(1:1000)",      {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(-(1:1000)),          ufo_raw)})
test_that("ufo raw subset: int -(1:N)",         {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(-(1:100000)),        ufo_raw)})
test_that("ufo raw subset: int -(N/2:N)",       {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(-(50000:100000)),    ufo_raw)})
test_that("ufo raw subset: int -2*(2:N/2)",     {test_ufo_subset(data=as.raw(1:100000),     subscript=as.integer(-2*(1:50000)),       ufo_raw)})

test_that("ufo logical subset: int 0",          {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(0),                  ufo_logical)})
test_that("ufo logical subset: int 1",          {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(1),                  ufo_logical)})
test_that("ufo logical subset: int N/2",        {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(50000),              ufo_logical)})
test_that("ufo logical subset: int N",          {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(100000),             ufo_logical)})
test_that("ufo logical subset: int 1:10",       {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(1:10),               ufo_logical)})
test_that("ufo logical subset: int 1:1000",     {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(1:1000),             ufo_logical)})
test_that("ufo logical subset: int 1:N",        {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(1:100000),           ufo_logical)})
test_that("ufo logical subset: int N/2:N",      {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(50000:100000),       ufo_logical)})
test_that("ufo logical subset: int 2*(2:N/2)",  {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(2*(1:50000)),        ufo_logical)})
test_that("ufo logical subset: int -1",         {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(-1),                 ufo_logical)})
test_that("ufo logical subset: int -(N/2)",     {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(-50000),             ufo_logical)})
test_that("ufo logical subset: int -N",         {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(-100000),            ufo_logical)})
test_that("ufo logical subset: int -(1:10)",    {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(-(1:10)),            ufo_logical)})
test_that("ufo logical subset: int -(1:1000)",  {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(-(1:1000)),          ufo_logical)})
test_that("ufo logical subset: int -(1:N)",     {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(-(1:100000)),        ufo_logical)})
test_that("ufo logical subset: int -(N/2:N)",   {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(-(50000:100000)),    ufo_logical)})
test_that("ufo logical subset: int -2*(2:N/2)", {test_ufo_subset(data=as.logical(1:100000), subscript=as.integer(-2*(1:50000)),       ufo_logical)})

test_that("ufo string subset: int 0",           {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(0),                ufo_character)})
test_that("ufo string subset: int 1",           {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(1),                ufo_character)})
test_that("ufo string subset: int N/2",         {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(50000),            ufo_character)})
test_that("ufo string subset: int N",           {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(100000),           ufo_character)})
test_that("ufo string subset: int 1:10",        {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(1:10),             ufo_character)})
test_that("ufo string subset: int 1:1000",      {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(1:1000),           ufo_character)})
test_that("ufo string subset: int 1:N",         {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(1:100000),         ufo_character)})
test_that("ufo string subset: int N/2:N",       {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(50000:100000),     ufo_character)})
test_that("ufo string subset: int 2*(2:N/2)",   {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(2*(1:50000)),      ufo_character)})
test_that("ufo string subset: int -1",          {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(-1),               ufo_character)})
test_that("ufo string subset: int -(N/2)",      {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(-50000),           ufo_character)})
test_that("ufo string subset: int -N",          {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(-100000),          ufo_character)})
test_that("ufo string subset: int -(1:10)",     {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(-(1:10)),          ufo_character)})
test_that("ufo string subset: int -(1:1000)",   {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(-(1:1000)),        ufo_character)})
test_that("ufo string subset: int -(1:N)",      {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(-(1:100000)),      ufo_character)})
test_that("ufo string subset: int -(N/2:N)",    {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(-(50000:100000)),  ufo_character)})
test_that("ufo string subset: int -2*(2:N/2)",  {test_ufo_subset(data=as.character(1:100000), subscript=as.integer(-2*(1:50000)),     ufo_character)})
ufo-org/ufo-r-operators documentation built on May 18, 2022, 12:40 a.m.