Skip to content

Commit 31955ee

Browse files
author
ynn
committed
test(unit_tests): improves coverage
1 parent 58c14e5 commit 31955ee

File tree

7 files changed

+68
-2
lines changed

7 files changed

+68
-2
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ Some important implementation details:
142142

143143
### 4.1 Unit Tests
144144

145-
Many unit tests are written.
145+
Many unit tests are written. The coverage is around 80%.
146146

147147
### 4.2 Integration Tests
148148

src/args.rs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,33 @@ impl Args {
4040
Ok(())
4141
}
4242
}
43+
44+
#[cfg(test)]
45+
mod tests {
46+
use super::*;
47+
48+
#[test]
49+
// #[ignore]
50+
fn test01() {
51+
let mut args = Args {
52+
image_file: String::new(),
53+
codel_size: None,
54+
fall_back_to_white: false,
55+
fall_back_to_black: false,
56+
max_iter: None,
57+
verbose: false,
58+
};
59+
assert!(args.validate().is_ok());
60+
61+
args.fall_back_to_white = true;
62+
assert!(args.validate().is_ok());
63+
64+
args.fall_back_to_white = false;
65+
args.fall_back_to_black = true;
66+
assert!(args.validate().is_ok());
67+
68+
args.fall_back_to_white = true;
69+
args.fall_back_to_black = true;
70+
assert!(args.validate().is_err());
71+
}
72+
}

src/block.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,9 @@ mod tests {
117117
];
118118
let s = FxHashSet::from_iter(l);
119119
let block = Block::new(&s);
120+
120121
assert_eq!(block.size, 19);
122+
121123
assert_eq!(block.right_left, (1, 5));
122124
assert_eq!(block.right_right, (3, 5));
123125
assert_eq!(block.down_left, (4, 3));
@@ -126,5 +128,14 @@ mod tests {
126128
assert_eq!(block.left_right, (1, 0));
127129
assert_eq!(block.up_left, (0, 1));
128130
assert_eq!(block.up_right, (0, 3));
131+
132+
assert_eq!((1, 5), block.get_corner_index(&DP::Right, &CC::Left));
133+
assert_eq!((3, 5), block.get_corner_index(&DP::Right, &CC::Right));
134+
assert_eq!((4, 3), block.get_corner_index(&DP::Down, &CC::Left));
135+
assert_eq!((4, 1), block.get_corner_index(&DP::Down, &CC::Right));
136+
assert_eq!((3, 0), block.get_corner_index(&DP::Left, &CC::Left));
137+
assert_eq!((1, 0), block.get_corner_index(&DP::Left, &CC::Right));
138+
assert_eq!((0, 1), block.get_corner_index(&DP::Up, &CC::Left));
139+
assert_eq!((0, 3), block.get_corner_index(&DP::Up, &CC::Right));
129140
}
130141
}

src/command.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -602,6 +602,12 @@ mod tests {
602602
fn test_roll_01() {
603603
let command = Command::Roll;
604604

605+
//the length of stack is insufficient
606+
let mut ip = Interpreter::new();
607+
ip.stack = vec![9];
608+
command.execute(&mut ip, 1);
609+
assert_eq!(vec![9], ip.stack);
610+
605611
//negative depth
606612
let mut ip = Interpreter::new();
607613
ip.stack = vec![9, 8, 7, 1, 2, 3, 4, -2, 5];

src/lib.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,3 +153,22 @@ pub fn run(args: &Args) -> Result<(), Box<dyn Error>> {
153153
}
154154
}
155155
}
156+
157+
#[cfg(test)]
158+
mod tests {
159+
use super::*;
160+
161+
#[test]
162+
// #[ignore]
163+
fn test01() {
164+
let args = Args {
165+
image_file: "./test_images/coverage.png".to_string(),
166+
codel_size: None,
167+
fall_back_to_white: true,
168+
fall_back_to_black: false,
169+
max_iter: None,
170+
verbose: false,
171+
};
172+
assert!(run(&args).is_ok());
173+
}
174+
}

src/stdin.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ mod tests {
154154
assert_eq!(Some('あ'), stdin.read_char());
155155
assert_eq!(Some('a'), stdin.read_char());
156156
assert_eq!(Some('a'), stdin.read_char());
157-
assert_eq!(Some('あ'), stdin.read_char());
157+
assert_eq!(Some("あ".to_owned()), stdin.read_word());
158158
assert_eq!(None, stdin.read_char());
159159
assert_eq!(None, stdin.read_word());
160160
}

test_images/coverage.png

662 Bytes
Loading

0 commit comments

Comments
 (0)