반응형
기본 환경 구성
- Rust 코드 작성 및 컴파일 가능한 환경을 구성한다.
- 여기서 별도 설명 안한다.
- 필자의 환경은,
- Windows
- Cargo, Rust
- Visual Source Code
테스트 환경
필자는 10개의 문제별로 패키지를 구분하면서 작성했다. 즉, euler1_9 패키지에는 문제1~문제9까지를 작성.
그리고, cargo test를 통해서, 각 케이스에 대한 답이 맞는지 확인할 수 있도록 했다.
환경구성하는 것을 단계별로 해보자.
1. cargo1_0 패키지를 만들자.
2. Visual Studio Code 실행
3. VSC(Visual Source Code)이용해서, src 폴더 밑에 p1.rs 파일 생성
4. p1.rs 파일 내용을 작성
#[test]
fn test(){
assert_eq!(23, get_sum(10));
assert_eq!(233168, get_sum(1000));
}
#[cfg(test)]
fn get_sum(bound: u64) -> u64{
let mut sum = 0;
for i in 3..bound{
if i%3==0 || i%5==0{
sum += i;
}
}
return sum;
}
5. main.rs 파일에 p1.rs 파일을 사용할 수 있도록 mod 구문 추가
mod p1;
fn main() {
println!("Hello, world!");
}
6. cargo를 이용 테스트 실행
잘못된 답에 대해서 잘 걸러내는지, p1.rs에서 10일 때의 답 23대신에 다른값을 넣어서 테스트 수행해본다.
#[test]
fn test(){
// assert_eq!(23, get_sum(10));
assert_eq!(1, get_sum(10));
assert_eq!(233168, get_sum(1000));
}
cargo test를 수행해본다. 아래와 같이 FAILED가 뜨고, 원하는 답이 아니라는 메시지가 뜬다.
끝
반응형
'Programming > Rust로 Euler 문제 풀이' 카테고리의 다른 글
004. Largest Palindrome Product (가장 큰 대칭수 찾기) (0) | 2024.08.12 |
---|---|
003. Largest Prime Factor (어떤 수에 대한 가장 큰 소인수 구하기) (0) | 2024.08.12 |
002. Even Fibonacci Numbers (피보나치 수 중에서 짝수 구하기) (0) | 2024.08.12 |
001. Multiples of 3 or 5 (3과 5의 배수들의 합) (0) | 2024.08.12 |
Euler 프로젝트 소개, Rust 이용한 프로그래밍 소개 (0) | 2024.08.12 |