extern crate rusty_oge;
use std::collections::HashMap;
use std::str::FromStr;
use rusty_oge::module5::*;
#[macro_use]
mod test_macros;
fn to_cmd_table(cmds: &[(char, &str)]) -> CommandTable {
let map_closure = |item: &(char, &str)| {
(
item.0.to_owned(),
Command::from_str(item.1).expect("Cannot create Command from string!")
)
};
HashMap::from_iter(cmds.iter().map(map_closure))
}
Test! {
Name = problem10383,
Input = (to_cmd_table(&[('1', "+1"), ('2', "*b")]), 6, 82),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "10"
}
Test! {
Name = problem10384,
Input = (to_cmd_table(&[('1', "+1"), ('2', "*b")]), 3, 62),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "12"
}
Test! {
Name = problem10385,
Input = (to_cmd_table(&[('1', "+2"), ('2', "*b")]), 7, 51),
Spec = ProblemSpec::FindVariableValue("12111".into()),
Output = "5"
}
Test! {
Name = problem10386,
Input = (to_cmd_table(&[('1', "+2"), ('2', "*b")]), 4, 72),
Spec = ProblemSpec::FindVariableValue("11121".into()),
Output = "7"
}
Test! {
Name = problem10387,
Input = (to_cmd_table(&[('1', "+3"), ('2', "*b")]), 1, 97),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "13"
}
Test! {
Name = problem10388,
Input = (to_cmd_table(&[('1', "+3"), ('2', "*b")]), 3, 75),
Spec = ProblemSpec::FindVariableValue("11121".into()),
Output = "6"
}
Test! {
Name = problem10389,
Input = (to_cmd_table(&[('1', "+4"), ('2', "*b")]), 9, 77),
Spec = ProblemSpec::FindVariableValue("12111".into()),
Output = "5"
}
Test! {
Name = problem10878,
Input = (to_cmd_table(&[('1', "+5"), ('2', "*b")]), 6, 48),
Spec = ProblemSpec::FindVariableValue("12111".into()),
Output = "3"
}
Test! {
Name = problem10879,
Input = (to_cmd_table(&[('1', "+5"), ('2', "*b")]), 3, 88),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "6"
}
Test! {
Name = problem10880,
Input = (to_cmd_table(&[('1', "+5"), ('2', "*b")]), 4, 81),
Spec = ProblemSpec::FindVariableValue("11121".into()),
Output = "4"
}
Test! {
Name = problem10881,
Input = (to_cmd_table(&[('1', "+2"), ('2', "*b")]), 4, 202),
Spec = ProblemSpec::FindVariableValue("11121".into()),
Output = "20"
}
Test! {
Name = problem10882,
Input = (to_cmd_table(&[('1', "+2"), ('2', "*b")]), 6, 164),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "16"
}
Test! {
Name = problem12854,
Input = (to_cmd_table(&[('1', "-b"), ('2', "*5")]), 2, 17),
Spec = ProblemSpec::FindVariableValue("21121".into()),
Output = "3"
}
Test! {
Name = problem16013,
Input = (to_cmd_table(&[('1', "^2"), ('2', "+3")]), 1, 25),
Spec = ProblemSpec::MakeAlgorithm(5),
Output = "21222"
}
Test! {
Name = problem18035,
Input = (to_cmd_table(&[('1', "+1"), ('2', "^2")]), 3, 84),
Spec = ProblemSpec::MakeAlgorithm(5),
Output = "22111"
}
Test! {
Name = problem18173,
Input = (to_cmd_table(&[('1', "^2"), ('2', "+b")]), 2, 37),
Spec = ProblemSpec::FindVariableValue("12212".into()),
Output = "1"
}
Test! {
Name = problem18188,
Input = (to_cmd_table(&[('1', "^2"), ('2', "+b")]), 2, 72),
Spec = ProblemSpec::FindVariableValue("12122".into()),
Output = "4"
}
Test! {
Name = problem18214,
Input = (to_cmd_table(&[('1', "*b"), ('2', "+2")]), 1, 91),
Spec = ProblemSpec::FindVariableValue("12221".into()),
Output = "7"
}
Test! {
Name = problem18229,
Input = (to_cmd_table(&[('1', "*b"), ('2', "+1")]), 1, 56),
Spec = ProblemSpec::FindVariableValue("21212".into()),
Output = "5"
}
Test! {
Name = problem18244,
Input = (to_cmd_table(&[('1', "*4"), ('2', "-b")]), 4, 28),
Spec = ProblemSpec::FindVariableValue("21122".into()),
Output = "2"
}
Test! {
Name = problem18259,
Input = (to_cmd_table(&[('1', "*4"), ('2', "-b")]), 3, 21),
Spec = ProblemSpec::FindVariableValue("12212".into()),
Output = "3"
}
Test! {
Name = problem32095,
Input = (to_cmd_table(&[('1', "+1"), ('2', "*b")]), 6, 82),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "10"
}
Test! {
Name = problem10390,
Input = (to_cmd_table(&[('1', "+1"), ('2', "/b")]), 63, 11),
Spec = ProblemSpec::FindVariableValue("12111".into()),
Output = "8"
}
Test! {
Name = problem10391,
Input = (to_cmd_table(&[('1', "+1"), ('2', "/b")]), 50, 20),
Spec = ProblemSpec::FindVariableValue("12111".into()),
Output = "3"
}
Test! {
Name = problem10392,
Input = (to_cmd_table(&[('1', "+2"), ('2', "/b")]), 47, 13),
Spec = ProblemSpec::FindVariableValue("12111".into()),
Output = "7"
}
Test! {
Name = problem10393,
Input = (to_cmd_table(&[('1', "+2"), ('2', "/b")]), 50, 22),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "3"
}
Test! {
Name = problem10454,
Input = (to_cmd_table(&[('1', "+3"), ('2', "/b")]), 30, 12),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "6"
}
Test! {
Name = problem10455,
Input = (to_cmd_table(&[('1', "+3"), ('2', "/b")]), 63, 21),
Spec = ProblemSpec::FindVariableValue("11121".into()),
Output = "4"
}
Test! {
Name = problem10456,
Input = (to_cmd_table(&[('1', "+3"), ('2', "/b")]), 30, 6),
Spec = ProblemSpec::FindVariableValue("11121".into()),
Output = "13"
}
Test! {
Name = problem10457,
Input = (to_cmd_table(&[('1', "+3"), ('2', "/b")]), 46, 8),
Spec = ProblemSpec::FindVariableValue("11121".into()),
Output = "11"
}
Test! {
Name = problem10883,
Input = (to_cmd_table(&[('1', "+4"), ('2', "/b")]), 76, 26),
Spec = ProblemSpec::FindVariableValue("11121".into()),
Output = "4"
}
Test! {
Name = problem10884,
Input = (to_cmd_table(&[('1', "+4"), ('2', "/b")]), 49, 27),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "3"
}
Test! {
Name = problem10885,
Input = (to_cmd_table(&[('1', "+4"), ('2', "/b")]), 41, 17),
Spec = ProblemSpec::FindVariableValue("12111".into()),
Output = "9"
}
Test! {
Name = problem10886,
Input = (to_cmd_table(&[('1', "+4"), ('2', "/b")]), 48, 16),
Spec = ProblemSpec::FindVariableValue("12111".into()),
Output = "13"
}
Test! {
Name = problem10887,
Input = (to_cmd_table(&[('1', "+5"), ('2', "/b")]), 40, 20),
Spec = ProblemSpec::FindVariableValue("11211".into()),
Output = "5"
}
Test! {
Name = problem18274,
Input = (to_cmd_table(&[('1', "/2"), ('2', "-3")]), 76, 5),
Spec = ProblemSpec::MakeAlgorithm(5),
Output = "11212"
}
Test! {
Name = problem18289,
Input = (to_cmd_table(&[('1', "/2"), ('2', "-1")]), 65, 4),
Spec = ProblemSpec::MakeAlgorithm(5),
Output = "21111"
}