Skip to content

Commit 7923d77

Browse files
committed
Create a template.
1 parent ace4e3b commit 7923d77

File tree

7 files changed

+64
-0
lines changed

7 files changed

+64
-0
lines changed

template/data/example1

Whitespace-only changes.

template/data/input

Whitespace-only changes.

template/src/data.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#[cfg(test)]
2+
pub const EXAMPLE1: &'static str = include_str!("../data/example1");
3+
4+
#[allow(unused)]
5+
pub const INPUT: &'static str = include_str!("../data/input");

template/src/main.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
mod data;
2+
mod part1;
3+
mod part2;
4+
mod puzzle;
5+
6+
fn main() {
7+
use data::INPUT;
8+
println!("Part 1: {}", part1::run(INPUT));
9+
println!("Part 2: {}", part2::run(INPUT));
10+
}

template/src/part1/mod.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
use crate::puzzle::Puzzle;
2+
3+
pub fn run(input: &str) -> usize {
4+
let puzzle: Puzzle = input.parse().expect("parse failed");
5+
todo!("Implement Part 1")
6+
}
7+
8+
#[cfg(test)]
9+
mod test {
10+
use super::*;
11+
use crate::data::EXAMPLE1;
12+
13+
#[test]
14+
fn test1() {
15+
assert_eq!(run(EXAMPLE1), todo!());
16+
}
17+
}

template/src/part2/mod.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
use crate::puzzle::Puzzle;
2+
3+
pub fn run(input: &str) -> usize {
4+
let puzzle: Puzzle = input.parse().expect("parse failed");
5+
todo!("Implement Part 2")
6+
}
7+
8+
#[cfg(test)]
9+
mod test {
10+
use super::*;
11+
use crate::data::EXAMPLE1;
12+
13+
#[test]
14+
fn test1() {
15+
assert_eq!(run(EXAMPLE1), todo!());
16+
}
17+
}

template/src/puzzle.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
use std::str::FromStr;
2+
3+
#[derive(Debug)]
4+
pub struct Puzzle {}
5+
6+
#[derive(Debug)]
7+
pub struct ParseError;
8+
9+
impl FromStr for Puzzle {
10+
type Err = ParseError;
11+
12+
fn from_str(s: &str) -> Result<Self, Self::Err> {
13+
todo!()
14+
}
15+
}

0 commit comments

Comments
 (0)