microsoft/qdk

Public

mirrored fromhttps://github.com/microsoft/qdkAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
v1.18.0

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

source/pip/src/generic_estimator/tests.rs

30lines · modecode

1// Copyright (c) Microsoft Corporation.
2// Licensed under the MIT License.
3
4use super::factory::round_based::{ordered_bfs, OrderedBFSControl};
5
6#[test]
7fn test_ordered_bfs() {
8 let mut total_sum = 0;
9 let mut total_visits = 0;
10
11 let elements = vec![2, 4, 6, 8, 10];
12 ordered_bfs(&elements, 5, |v| {
13 let sum = v.iter().copied().sum::<i32>();
14 if sum <= 10 {
15 total_sum += sum;
16 total_visits += 1;
17 if v.len() > 3 {
18 Ok(OrderedBFSControl::Terminate)
19 } else {
20 Ok(OrderedBFSControl::Continue)
21 }
22 } else {
23 Ok(OrderedBFSControl::Cutoff)
24 }
25 })
26 .expect("BFS should complete successfully");
27
28 assert_eq!(total_sum, 118);
29 assert_eq!(total_visits, 16);
30}
31