commit dc0e32119b0312e7865e7d069ca014b6fcc80613 Author: talksik Date: Fri Jun 16 22:26:41 2023 -0700 adding in solution to part one diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..eb79af5 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aoc-2022-day-2" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..bf8be74 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "aoc-2022-day-2" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/input.txt b/input.txt new file mode 100644 index 0000000..6df0583 --- /dev/null +++ b/input.txt @@ -0,0 +1,2500 @@ +C Y +C Y +C Y +B Z +C Y +C Z +C Y +C Y +C Z +B Y +C Y +C Y +C Y +C Y +C Y +B Z +A X +C Y +B Y +A X +C Z +C Y +C Y +C Y +B Z +B X +C Y +A X +A X +A X +C X +A X +C X +B X +C Y +C Y +A X +A Y +C Y +C Y +C Y +C Y +B X +A X +B Y +C Y +C Y +C Z +A Y +B X +B Z +C Z +C Z +A X +A X +B X +C Z +C X +A Y +C X +C Y +A X +A X +A X +C Y +C Z +C X +C Y +A X +C Y +C Z +C Y +B Z +C Y +A X +C Z +C Y +C Y +C Y +A X +A X +A X +B X +A Z +A X +C Y +A Y +C Y +B X +B Z +B Z +B Z +B X +C X +A X +A X +A X +C Z +A Y +C X +C Y +B X +C Y +C Y +A X +C Y +C Y +C Y +A X +C Y +A X +C Y +A X +C Y +B X +C Z +C Y +A X +C Z +B Z +A Z +B Z +C Y +B X +A X +C Y +B X +A X +A X +A Y +B Z +C Y +A X +C Y +C Y +A X +C Y +C Y +A X +C Y +A X +C X +B Y +C Z +B Z +C Y +C Y +A X +B X +A X +C Y +C Y +A X +B X +C Y +B X +C Z +B Z +C Y +C Y +C X +A X +C Y +A X +C Y +C Y +C Y +C Z +A X +C Y +A X +A X +B X +C Y +C Y +A X +B X +A X +A X +A X +B Z +C Y +C Y +C Y +A X +A X +A Y +A X +B X +B Z +B Z +C Y +B Z +A X +B Z +C Y +C Y +C Y +C Y +C Y +A X +A X +A Z +B Y +C Y +C Y +C Y +A X +B X +A X +A X +C X +C Y +B Z +C Y +C Y +B X +A X +A X +B Z +C Y +B Z +C Y +C Y +C Y +A X +C Y +C Y +A X +C Z +B X +B Z +C Y +C X +C Y +A X +C Z +B Z +A X +B X +C X +A X +C Y +C Y +B Z +A Z +B X +B X +A X +A X +A X +C Y +C Y +C Z +A X +C X +C Y +C Y +A X +B X +A Z +B X +B X +C Y +B X +B Y +B Z +A X +B X +B Y +C X +A Y +A Y +C Y +A X +C Y +B X +C Z +C X +A Z +C Z +C Y +C Y +B X +B X +C Y +A X +C Z +C X +C Z +B X +A X +A X +A X +B Z +B X +B Z +C Y +C Y +C Y +B X +C Z +C Y +A X +C Y +C Y +A X +A X +C Y +C Y +C Y +C Y +C Y +C Y +A X +C Y +C Y +C Y +C Y +C Z +C Y +A X +A X +C Y +A Y +B Z +C X +C Y +B X +A Y +C Y +C Y +C Y +A Y +B X +A X +B Y +C Y +C Y +C Z +B Z +C Y +A X +A Y +C Y +C Y +C Y +C Y +A Y +B Z +A X +C Y +C X +C Y +C Y +C Y +C Z +C Y +C Y +C Y +B Y +C Y +B Z +C Y +A X +C Y +B Z +C Y +C Y +A X +A X +B Z +C Y +C Y +C X +B X +C Z +A X +A X +B X +C Y +B Y +C Y +A Y +C X +A X +C X +C Y +C Y +B X +C Y +C Y +B Z +C Z +C Y +C Y +A X +C Y +C Y +A X +C Y +B X +C Y +C X +A X +C X +A X +C Y +A X +C Y +C Y +C Y +C Z +C Z +B Z +C Z +C Y +B X +C Z +C Y +A X +A X +C Y +C Y +C Y +B X +C X +A X +C Y +A X +C Y +A X +C X +B X +A X +C Y +C Y +B X +A X +A X +C Z +C X +A X +A X +B X +A Z +A X +C X +C Y +A X +B X +C Y +A X +C Y +C Y +B X +C Y +C Y +A X +C Z +C Y +B X +C X +B X +C Y +C Y +B X +B Z +B Z +C Y +C Y +B X +C Y +B Z +C X +A Z +A X +A X +C Y +C Y +C Y +C Y +C Y +C Y +B Z +B X +C Y +B Z +C Y +A X +A X +C Y +A X +A X +C Y +C Y +A Z +C Y +A X +C Y +C Y +C Y +C Y +C Y +A X +B Z +A X +C X +B X +C Y +B Z +C Y +B X +B X +C Y +C Y +C X +C Y +C Y +A X +C X +A X +C Y +B X +A X +B Y +A X +B X +C Y +C X +C Y +C Y +A X +C Y +C Y +A X +C Z +B X +A X +C Y +A X +A X +C Y +A X +C X +B X +A X +A X +B X +A X +C X +A Z +B Z +C Y +C Y +A X +C Y +C Y +B X +A X +C Y +A Y +B X +C Y +C Y +A X +C X +C Y +C Y +A X +C X +B Y +C Y +C X +C Y +C Y +C Y +C Z +A X +C Y +C X +C Y +A Z +A X +C Y +B X +C Y +B Z +A X +C Y +C Y +A X +A X +C Y +B X +A Z +B Z +C Y +C Z +A X +A X +A X +B Z +A Z +C Y +C Y +C Y +C Y +C Y +B Z +B X +A Y +B X +C Y +A X +C X +A X +A X +C Y +A X +C Y +C Y +A X +C Y +C Y +C Y +C Y +B Z +B X +C Y +C Y +A X +C Y +B X +C Y +C Z +C Y +B X +C Y +C Y +B Z +A Y +C Z +B X +C Z +C Y +A Y +A X +A X +C Y +B X +A X +A Y +C X +A Y +C Y +C Y +C X +C Y +C Z +C X +B X +C Y +C Z +A X +C Y +A X +C Y +C Y +A Z +A X +C Z +B X +C X +B X +B Y +C Y +C Y +B Z +C Y +B X +B Z +C Y +C Y +C Y +B X +B Z +C Y +B Z +B X +A Z +A X +C Y +C Y +B X +B Z +A X +C Y +C Y +C Z +C Y +C Y +C Y +B Z +C Y +C Y +B Z +C Y +C Y +C Y +C Y +C Y +C Z +C X +C Y +C Y +C Z +C Y +B Z +C Z +A X +C Y +B X +C Y +A X +C Y +A X +C Y +C Y +C Y +C Y +B X +C Y +C Y +A X +C Z +A X +A X +C Y +B X +C Y +C Y +C Y +A X +A X +C Y +B X +B X +C Y +B X +C Y +C Z +C Z +A X +C Y +C X +C X +C Z +C X +C Y +A X +C Y +C Y +C Y +A X +A X +C X +C Y +C Y +A X +A Z +C Z +C Y +C Z +A X +C Z +C Y +C Y +A X +C Y +B Z +B X +A X +C Y +C Z +A X +C X +C Y +C Y +B X +C Y +C Y +C Y +B X +B Z +B Z +A X +A X +C Z +C Y +C Y +C Y +B Z +A X +C Y +C Y +C Z +B X +A X +C Y +B Z +C Y +A X +B Z +A X +A X +A X +A Y +C Z +A X +A X +B X +A X +C Y +C Y +A X +C Z +A X +A X +C Y +A X +B X +A X +C Y +A X +C Y +C Z +C Y +C Y +C Z +C Y +C X +A Y +A Z +B Z +B X +C Y +C X +B X +A X +A Y +A X +A X +C Y +B X +A X +C Y +B Z +C Y +C Y +C Y +C Y +A X +B X +C Y +A X +A Y +C Y +B X +C Y +B Y +C Y +B X +C Y +C Y +C Y +C X +A X +B Z +C Y +C Y +B X +C Y +C Y +B Z +A X +C Y +C Y +A Y +C Y +B Z +C Y +C Y +A X +A X +A X +C Z +B X +C X +A X +C Y +C Z +A X +B X +A X +B X +C Z +C X +C Y +B X +C Z +C Z +C Y +A X +C Y +C X +B X +C Y +C Y +A Y +C Y +C Z +C Y +C Y +B Z +C Y +C Y +C Z +B X +B X +C Y +B Z +C Y +A X +C Z +C Z +A X +A X +A X +A X +C Y +C Y +B X +C Y +B X +A X +C Y +C Y +C Y +A X +B Z +A X +C Y +C Y +C Y +A X +C Y +C Y +B Z +B Z +A X +C Y +C Y +B Y +C Y +C Z +A X +C Y +C Z +A X +A X +C X +C Y +A X +A X +C Y +C Y +A X +A X +A X +C Y +C Y +B Z +C Y +B X +A X +A X +C Z +C Y +A X +C Y +A X +C Y +C Z +C Z +C Y +A X +C Y +C X +C Y +B X +C Y +A X +B Z +C Z +C Z +C Y +B X +C Y +C Y +C Y +A X +A X +A X +C Y +B Z +A X +C Y +C Y +C Y +A X +C Y +C Y +A X +C Y +C X +A X +C Y +C Y +C Z +C Z +C Y +C Y +C Y +C Y +C Z +B X +C Y +C Y +A Y +C Z +B Z +C Y +C Y +A X +B X +A X +C Z +C Y +B Y +C Y +A Z +C Y +B Z +B Z +C Y +A X +C Y +B Z +B X +B Z +A X +B X +A X +C X +A X +B X +A Y +B Z +C Z +C Y +A X +A X +C Y +C X +A Y +C Z +C Y +C Y +A X +A Z +A Y +C Y +B X +A X +C Y +C Z +B X +A X +B X +C Y +C Z +B X +C Y +C Y +C Y +A X +C Y +C Y +C Y +C Y +C Y +C X +C X +C Y +C Y +C Y +A Y +C Y +A X +C Z +C Z +C Y +C Y +C Y +B X +A Z +C Y +C Z +C Y +A X +C Y +A Y +A X +C Y +C Y +A Z +B X +C Z +B X +C Y +C Z +C Y +C Y +C Y +C Y +C Y +C Y +B Z +C Z +A X +A Z +C Z +B Y +B Z +C Z +C Z +A X +B X +B X +C Y +C Y +A X +A X +C Y +C Y +A X +C Y +A Z +C Z +C Y +A X +C Y +C Y +A X +A X +C Y +C Y +B Z +B X +C Y +C Y +A Z +C X +C Y +B X +C Z +A X +C Z +C Y +A X +B Z +C Y +C Y +B X +A Z +C Y +B Z +A X +C Y +C X +A X +C Y +C Y +C Z +A X +B X +B Z +C X +C Y +C Y +A X +C Y +B X +A X +A X +C Y +A X +A X +A X +A Y +A Z +A X +A X +C Y +C X +C Z +C Y +C Y +C X +C Y +A X +A X +A Y +C Z +C Z +C X +B Z +C Y +A X +C Y +B Z +A X +C Z +C Y +A Y +A X +B Z +A X +C Y +B X +B Z +A X +B X +B X +C Y +C X +C Y +C Y +C Y +C Z +B Z +C Y +C Y +C Z +C Y +C Y +C Y +A X +A X +C Z +A X +C Y +C Y +B Z +A X +A Z +C Z +C Y +C Y +C Y +C Z +C Y +C Y +C Y +C Y +B Z +C Y +C Z +C Z +C Y +B Z +A X +C Y +B X +C X +A X +A X +B X +C Y +C Y +C Y +C X +B Z +C Y +A X +C Z +A X +A Z +C Z +C Y +C Y +C Y +C X +A X +C Y +A Y +C Y +B Z +A Y +C Y +A X +C Y +A X +C Y +C Y +C Y +B X +C Y +C Y +A X +C Y +C Y +C Y +C Y +A X +B Z +B X +A X +C Y +C X +C Y +B X +C X +C Y +C Y +A X +A X +C Y +C Z +A X +C Y +A X +C Y +C X +C Y +B Y +A Y +C Y +C Z +A X +B X +C Y +B X +A X +C Y +B X +A Z +C Y +B X +C Y +A X +B X +C Z +A X +B X +C Y +A X +A X +B X +C Y +A X +C Z +A X +C Y +A X +B X +C Y +C Y +C Y +C Y +C Y +A X +A Z +C Y +A X +C Y +C Y +B X +C Y +A X +C Y +C Z +C Y +C Y +A X +A X +A X +C Y +C Y +C Y +C Z +C Y +C Y +C Y +C Y +C Z +C X +C Y +C Z +C Y +C Y +C Y +C Y +A X +B X +C Z +A X +C Z +C Y +C Y +C Y +C Y +A Z +B X +A X +B Z +C Y +C Y +C X +C Y +B Y +B X +C X +C X +A X +C Y +C Y +A X +A X +B Z +C Y +C Y +C Y +A X +A X +C Y +C X +C Y +A X +C X +B Y +C X +C Y +C Y +A X +B Z +C Y +B X +A X +B Y +C Y +C Y +C Y +A X +A X +C Y +C Y +A X +C Y +C X +C Y +B Z +C Y +C Y +A Z +C Y +C Z +C Z +C X +C Y +C Y +C Y +C Y +C Y +C Y +C Y +A X +C Y +B X +C Z +C Y +C X +C X +A Y +C Y +A X +A X +B Z +C Y +C Y +A X +A Z +B X +C Y +C Y +B Y +C Y +C Y +C Y +C Y +A X +C Z +C Y +C Z +A Y +C Y +A X +A X +C Y +C Y +C Y +B X +B X +B Z +A X +C Z +C X +A X +C Y +C Y +C Y +C Y +C X +C X +B Z +A Z +C Y +B Z +C Z +A X +C Z +A X +C Y +A X +C Y +A X +A X +C Y +A X +C Y +C Y +C Y +B X +C Y +C X +C Y +C Z +C Y +A X +C Y +C Y +C Y +B Z +C Y +A X +B X +C Y +C Y +B Y +C Z +C Z +C Y +A X +C Y +C Y +A X +C X +B X +A X +A X +C Y +C Y +C Y +C Y +C Y +A X +A X +C Y +C Y +B X +C Y +C Y +C X +C Y +C Z +B Z +C Z +C Y +B X +C Y +C X +A X +C Y +B X +B X +A X +C Y +A X +C Y +A X +C X +C Y +C Y +B X +C Y +C Y +C Y +C Y +C X +B Z +A X +A X +C X +C X +C Y +A X +C Z +C Y +C Z +A X +A X +C X +C X +C Z +B X +A X +C Y +B X +C Y +B X +C Y +C Y +C Y +C Y +C Y +C Y +C Y +B Z +C Z +A Z +B X +C Z +C Z +C Y +B Z +C Y +A X +C Y +C Y +C Y +B Z +C Y +A X +B Z +B Z +C Z +A Y +C Z +A X +C Y +C Z +C X +A X +B X +C Y +C Y +C Y +A X +A Y +C Y +C Y +C Y +A X +C Y +B X +A X +A X +B X +C Z +C Y +B Z +C Y +A Y +B X +C Z +B Z +B Z +C X +B Z +C X +A X +C Y +B X +C Y +A X +C Y +A X +C Y +C Y +C Z +C Y +A X +B X +C Y +A X +B X +C Y +C X +C Y +C Y +A X +C Y +A X +B X +C Y +B X +B X +C Y +A X +C X +C X +B X +B Z +C Y +B X +C Y +C Y +B X +A X +C Z +A Y +C Y +C Z +A X +A X +C Y +A X +B Z +A X +A X +C Y +B Z +B Z +C Y +B X +B X +A X +A X +C Y +C Z +C X +C Y +A X +B Y +A X +C Y +B Z +B X +A Y +A X +C Y +A X +A X +C Y +C Y +C Y +C Z +C Z +A X +B Z +A Z +A X +C Y +B Z +C X +C Y +C Z +C Z +B X +B Z +B X +C Y +B X +B X +C Y +C Y +C X +B X +A X +C Z +A X +C Y +A X +A X +C Y +B X +B X +A X +B X +B Y +C Y +A X +A X +A X +B X +C Y +B Z +C Z +B X +C Y +C Z +A X +C Y +C Y +B Z +C Z +C Y +C Z +A X +B X +A Z +C Z +B Z +A X +A X +B X +A X +C Y +C Y +C Y +C Y +A X +C Y +C Z +C Z +B X +A X +A X +B X +B X +B X +C Y +C Y +A X +C Y +B Z +C Y +C Y +B Z +A Z +C X +C Z +B X +C Y +A X +A X +C Y +C Y +C Y +C Z +A X +C X +B X +C Y +A X +C Y +C X +A X +A Z +C X +C Z +A X +C Y +C Y +C Y +A X +A X +A X +B Z +C Z +C Z +A X +B X +B X +A X +C Y +B X +C Z +B Y +A X +C Z +A Z +C Y +C Y +A X +A X +B X +C Y +B Z +C Y +A X +A X +A X +C Y +A X +C Y +C Y +C Y +B X +A X +B Z +C Y +A X +A X +A Z +A X +A Y +A X +C Y +C Y +B X +A Y +C Y +C Y +A X +A Y +C Y +B X +C Y +C Y +C Y +C Y +C Y +B X +C Y +C Y +C X +C Y +A X +B Z +B X +B X +C Y +A X +C Y +C X +C X +C Y +C Y +C Z +C Y +A X +C Y +A X +C Y +A X +A X +C Y +C Y +B X +B Y +C Y +A X +B Z +C Y +C Y +C Y +A X +A X +A X +C Z +C Y +C Z +C Y +C Y +C Y +A X +C Y +C Y +C Y +B X +A X +C Y +C Y +C Z +A X +A X +C Y +C Y +B X +A Z +C Y +C Y +C Y +C Z +C Y +A Y +C Y +C Y +C Y +B Z +C Y +B X +C Y +C Y +B Z +A X +C X +C Y +A Y +A X +C X +C Y +C Y +A Y +B X +A X +A Y +C Y +C Y +C Y +A X +A X +A X +B X +A X +C Y +C Y +C Z +C Y +C Y +C Y +C Y +C Y +C Z +C Y +B Z +A X +B X +A X +C Y +A X +C Z +B X +B X +B Z +C Y +C Y +C Z +C Y +C Z +B Z +C Z +A X +C Y +B Z +B Z +C Y +A Y +B Z +B Y +C Z +C Y +C Y +B X +A X +C Y +B Y +A X +A X +C Y +C X +C Y +B Z +A X +C Y +A X +C Z +C Y +B Z +C Y +B Y +A X +C Y +A X +B X +A Y +C Y +C Y +B X +C Y +C Z +A X +C Y +B X +C Y +B Z +C Y +B X +B Z +C X +C Y +C Z +C Y +C Y +C Y +C Y +C Y +C Y +A X +A X +A X +A X +A X +A X +C Y +A X +B Z +B X +C Y +C Y +C Y +C X +A X +C X +A X +C Y +B X +B X +C Z +C Y +C Y +A Y +C Y +C X +A X +B Z +C Y +C Z +A X +B Z +B Z +A X +A X +C Z +C Y +B Z +A X +B X +A Y +B Z +A X +C Z +C X +C Y +C X +C Y +C Y +A X +C Y +C Y +C Z +A X +B Z +C Y +C Z +A Y +C Y +C Y +A Z +C Y +C Y +C Z +C Y +C Y +C Z +C Z +C Y +A Y +B X +B Z +A Y +A X +B X +C Y +C Y +C Y +A X +C Y +A X +B X +C Y +C Y +B X +C Y +A X +A Z +B Z +B Z +A X +A Y +A X +A X +C Y +C Z +A X +B X +C Y +B X +C Y +C Z +B X +C Y +C Z +A X +C Y +C Y +C Y +B X +C Z +A X +A X +C Y +C X +A X +C Y +C Y +C Z +A X +B X +A X +C Y +C Y +C Y +C Y +B X +B Z +C Z +A X +A X +A X +A X +A X +A X +C Y +C Y +C Y +B Z +C Z +C Y +C Y +C Y +C Z +A X +C Y +B X +A X +A X +C Z +B X +C Z +B Z +C Y +A X +A X +C Y +C Y +C Y +C Y +C Y +A X +C Y +A X +C Y +A X +C Y +C Y +C Y +C Y +A X +A X +C Y +C Y +C Y +B X +A X +C Y +C Y +C X +A X +A X +C X +C Y +C Y +C Y +C Y +C Y +C Y +C Y +C Y +C X +C Y +B X +B Z +C Z +C Y +C Y +C Y +C Y +B X +C Y +C Y +C Y +C Y +B Z +A X +C Y +A X +C Y +A X +C Y +C Y +A X +C Y +C Y +A X +A Z +A X +C Z +C Z +C Y +B X +C X +C Y +C Y +C Y +B Z +B Y +A X +B Z +A X +A X +A X +B X +B X +A X +C Y +C Z +A X +C Y +C Y +C Y +A X +C Y +C Y +C Y +A X +A Y +A X +C Y +C Y +C Z +C Y +C Y +C X +A X +C Y +A X +A X +A X +C Y +C Y +C X +A X +A X +B Z +A X +C Y +A X +B Z +C Z +A X +C Y +A X +B X +C Y +C Z +A X +A X +C Y +A X +A X +C Z +B X +A X +A X +B X +C Y +B X +C Y +A X +B X +C Y +C Y +A X +B X +C Y +C Y +B X +A X +B X +A Y +C Y +C Y +C Y +A X +C Y +A X +B Z +B X +C Y +B Z +A X +C Z +C X +C Y +C Y +A X +A X +A X +C Y +A X +B Z +B Z +C Y +B X +C X +C X +B X +C Y +C Y +C Y +C Y +B Z +C Y +C Y +C Y +A X +C Y +A Y +B X +C Y +C Y +B X +A X +B Z +C Z +A X +C Y +C Y +C Z +C Y +C Y +C Y +C Y +B Y +C Z +C Y +C X +A X +A Z +C Y +A X +A Y +B X +C X +B X +B X +B X +C X +C Y +C Y +C Y +A Z +A X +C Y +C X +A Y +A X diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..c4811cd --- /dev/null +++ b/src/main.rs @@ -0,0 +1,89 @@ +#[derive(Debug, Copy, Clone, PartialEq)] +enum Move { + Rock, + Paper, + Scissors, +} + +impl Move { + fn from_str(s: &str) -> Move { + match s { + "A" => Move::Rock, + "B" => Move::Paper, + "C" => Move::Scissors, + "X" => Move::Rock, + "Y" => Move::Paper, + "Z" => Move::Scissors, + _ => panic!("Invalid move"), + } + } + + // input what you put and what the other player put + fn get_score(self, other: Move) -> i32 { + match self { + Move::Rock => { + 1 + match other { + Move::Rock => 3, + Move::Paper => 0, + Move::Scissors => 6, + } + } + Move::Paper => { + 2 + match other { + Move::Rock => 6, + Move::Paper => 3, + Move::Scissors => 0, + } + } + Move::Scissors => { + 3 + match other { + Move::Rock => 0, + Move::Paper => 6, + Move::Scissors => 3, + } + } + } + } +} + +fn main() { + let input = get_input(); + let mut score = 0; + input.lines().for_each(|line| { + let opponent_move = Move::from_str(line[0..1].trim()); + let my_move = Move::from_str(line[2..3].trim()); + let round_score = my_move.get_score(opponent_move); + score += my_move.get_score(opponent_move); + + println!( + "Opponent: {:?}, Me: {:?}, Roundscore: {:?}, Score: {:?}", + opponent_move, my_move, round_score, score + ); + }); + + println!("Final score: {:?}", score); +} + +fn get_input() -> String { + std::fs::read_to_string("input.txt").expect("Something went wrong reading the file") +} + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn test_get_score() { + assert_eq!(Move::Rock.get_score(Move::Rock), 4); + assert_eq!(Move::Rock.get_score(Move::Paper), 1); + assert_eq!(Move::Rock.get_score(Move::Scissors), 7); + + assert_eq!(Move::Paper.get_score(Move::Rock), 8); + assert_eq!(Move::Paper.get_score(Move::Paper), 5); + assert_eq!(Move::Paper.get_score(Move::Scissors), 2); + + assert_eq!(Move::Scissors.get_score(Move::Rock), 3); + assert_eq!(Move::Scissors.get_score(Move::Paper), 9); + assert_eq!(Move::Scissors.get_score(Move::Scissors), 6); + } +}