tests/testthat/test-get_profit_factorDF.R

library(testthat)
library(lazytrade)
library(magrittr)
library(dplyr)

context("profit_factor")

data(profit_factorDF)

test_that("summarise works", {

  x <- profit_factorDF
  x <- x %>% ungroup()

  DF_L <- x %>%
    group_by(MagicNumber) %>%
    summarise(nOrders = n(), .groups = "drop_last")


  expect_equal(DF_L[1,2]$nOrders, 11)
})

test_that("filter works", {

  x <- profit_factorDF
  x <- x %>% ungroup()
  num_orders <- 10

  DF_L <- x %>%
    group_by(MagicNumber) %>%
    summarise(nOrders = n(), .groups = "drop_last") %>%
    filter(nOrders > num_orders) %>%
    select(MagicNumber) %>%
    as.data.frame() %>%
    # subset only rows that contans magic numbers from x
    inner_join(x, by = "MagicNumber") %>%
    group_by(MagicNumber) %>%
    filter(Profit < 0) %>%
    summarise(Loss = abs(sum(Profit)), .groups = "drop_last")

  expect_gt(sum(DF_L$Loss), expected = 45000)

})

Try the lazytrade package in your browser

Any scripts or data that you put into this service are public.

lazytrade documentation built on Dec. 16, 2021, 1:06 a.m.