## Check calculated totals (less ancillaryline) against revenue summary totals, 
{
  stopifnot(equals(
    DT.mainline_group_subtotals_from_rev_summary[TRUE][label_sc_group %in% OSC_values, label_sc_group := "OSC"][, sum(reported_gross), keyby=kCols.SC_date]
  , DT.MgmtReport[is.na(ancillaryline) & date <= lastDateClosed, sum(gross), keyby=kCols.SC_date]
  , tol=1e-1))

}

## With ancillaryline
{
  temp_DT.confirm <- {
      merge( DT.MgmtReport[,       list(gross=sum(gross)), keyby=kCols.date_SC]
           , DT.rev_summary.molt[, list(reported_gross=sum(reported_gross)), keyby=kCols.date_SC]
           , all=TRUE
            )[date <= lastDateClosed]
    }

  ## CONFIRM: gross are correct for Orchard
  stopifnot(temp_DT.confirm[label_sc_group == "Orchard", equals(reported_gross, gross)]) 
  ## RED
  stopifnot(temp_DT.confirm[label_sc_group == "RED", equals(reported_gross, gross)]) 
  ## ALLEGRO + SELECTO / OSC
  stopifnot(temp_DT.confirm[label_sc_group %in% c("Allegro", "SelectO", "OSC"), lapply(.SD, sumn, .char.to.NA=TRUE), keyby=date][, equals(reported_gross, gross)]) 
  ## ALL GROSS
  stopifnot(temp_DT.confirm[, lapply(.SD, sumn, .char.to.NA=TRUE), keyby=date][, equals(reported_gross, gross)])
}


message("Checks completed ok.")