Skip to content

Commit

Permalink
Rename function for getting deck components from (nick)name
Browse files Browse the repository at this point in the history
  • Loading branch information
CharnelMouse committed Sep 14, 2020
1 parent d9b0425 commit 23ae4f8
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 19 deletions.
2 changes: 1 addition & 1 deletion NAMESPACE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Generated by roxygen2: do not edit by hand

export(prepare_deck_names_for_modelling)
export(components)
export(standardise_deck_name)
import(data.table)
importFrom(magrittr,"%>%")
8 changes: 4 additions & 4 deletions R/convert_deck_names.r
Original file line number Diff line number Diff line change
Expand Up @@ -128,16 +128,16 @@ replace_with_nickname <- function(cleaned_names, nicknames) {
ifelse(is.na(matches), cleaned_names, nicknames$nickname[matches])
}

#' Extract specs and starters from deck (nick)names for modelling
#' Extract specs and starters from deck (nick)names
#'
#' @param name a character vector, containing deck names in standardised form, or their nicknames
#' @inheritParams standardise_deck_name
#'
#' @return a data.table, containing a column for the deck's starter name and three columns for its spec names.
#' @export
prepare_deck_names_for_modelling <- function(name, starters,
nicknames = data.table(name = character(),
nickname = character())) {
components <- function(name, starters,
nicknames = data.table(name = character(),
nickname = character())) {
if (length(name) == 0)
return(data.table(starter = character(),
spec1 = character(),
Expand Down
6 changes: 3 additions & 3 deletions data-raw/data.r
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ starters <- specs
usethis::use_data(nicknames, starters, entries, overwrite = TRUE)

monocolour_deck_names <- paste0("Mono", starters[base == "yes", setdiff(starter, "Neutral")])
monocolour_deck_components <- prepare_deck_names_for_modelling(monocolour_deck_names, specs, nicknames)
monocolour_deck_components <- components(monocolour_deck_names, specs, nicknames)
possible_spec_trios <- utils::combn(specs$spec, 3L, paste, collapse = "/")
draft_decks <- standardise_deck_name(apply(expand.grid(possible_spec_trios, unique(specs$starter)),
1, paste, collapse = "/"),
Expand All @@ -121,8 +121,8 @@ multicolour_decks <- draft_decks[stringr::str_count(draft_decks, "/") == 2L]
draft_deck_names <- standardise_deck_name(draft_decks, specs, nicknames)
multicolour_deck_names <- standardise_deck_name(multicolour_decks, specs, nicknames)

draft_deck_components <- prepare_deck_names_for_modelling(draft_deck_names, specs, nicknames)
multicolour_deck_components <- prepare_deck_names_for_modelling(multicolour_deck_names, specs, nicknames)
draft_deck_components <- components(draft_deck_names, specs, nicknames)
multicolour_deck_components <- components(multicolour_deck_names, specs, nicknames)
usethis::use_data(monocolour_deck_names, monocolour_deck_components,
multicolour_deck_names, multicolour_deck_components,
draft_deck_names, draft_deck_components,
Expand Down
10 changes: 5 additions & 5 deletions man/prepare_deck_names_for_modelling.Rd → man/components.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/starters.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions tests/testthat/test_convert_deck_names.r
Original file line number Diff line number Diff line change
Expand Up @@ -89,23 +89,23 @@ describe("standardise_deck_name()", {
})
})

describe("prepare_deck_names_for_modelling()", {
describe("components()", {
test_lookup <- data.table(spec = c("Anarchy", "Blood", "Fire", "Balance", "Feral", "Growth"),
starter = rep(c("Red", "Green"), each = 3))
test_nicknames <- data.table(name = "[Anarchy/Blood/Fire]", nickname = "MonoRed")
it("returns a nx0 data.table if given a length-0 vector of names", {
expect_identical(prepare_deck_names_for_modelling(character(0), test_lookup),
expect_identical(components(character(0), test_lookup),
data.table(starter = character(0), spec1 = character(0),
spec2 = character(0), spec3 = character(0)))
})
it("returns a nx4 data.table for names, giving starter and specs for each deck", {
expect_identical(prepare_deck_names_for_modelling("[Anarchy/Blood/Fire]", test_lookup),
expect_identical(components("[Anarchy/Blood/Fire]", test_lookup),
data.table(starter = "Red", spec1 = "Anarchy", spec2 = "Blood", spec3 = "Fire"))
expect_identical(prepare_deck_names_for_modelling("Anarchy/Blood/Fire/Green", test_lookup),
expect_identical(components("Anarchy/Blood/Fire/Green", test_lookup),
data.table(starter = "Green", spec1 = "Anarchy", spec2 = "Blood", spec3 = "Fire"))
})
it("treats any nicknames as their respective deck names", {
expect_identical(prepare_deck_names_for_modelling("MonoRed", test_lookup, test_nicknames),
expect_identical(components("MonoRed", test_lookup, test_nicknames),
data.table(starter = "Red", spec1 = "Anarchy", spec2 = "Blood", spec3 = "Fire"))
})
})

0 comments on commit 23ae4f8

Please sign in to comment.