Skip to content

Commit e685f11

Browse files
committed
loss tests
1 parent 87c0e66 commit e685f11

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

tests/assets/loss_single_qubit.qs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
namespace MyQuantumApp {
2+
3+
@EntryPoint()
4+
operation Main() : Bool {
5+
use q = Qubit();
6+
let m = M(q);
7+
IsLossResult(m)
8+
}
9+
}

tests/tests_run.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,4 +99,24 @@ fn test_teleportation_shots() {
9999

100100
assert_eq!(inner_result.result, Some("true".into()));
101101
}
102+
}
103+
104+
#[test]
105+
fn test_full_loss() {
106+
let source = std::fs::read_to_string("tests/assets/loss_single_qubit.qs").unwrap();
107+
let options = ExecutionOptions::from_qubit_loss(1.0);
108+
let result = run_qs_with_options(&source, Arc::new(options)).unwrap();
109+
110+
assert_eq!(result.len(), 1);
111+
assert_eq!(result[0].result, Some("true".into()));
112+
}
113+
114+
#[test]
115+
fn test_no_loss() {
116+
let source = std::fs::read_to_string("tests/assets/loss_single_qubit.qs").unwrap();
117+
let options = ExecutionOptions::from_qubit_loss(0.0);
118+
let result = run_qs_with_options(&source, Arc::new(options)).unwrap();
119+
120+
assert_eq!(result.len(), 1);
121+
assert_eq!(result[0].result, Some("false".into()));
102122
}

0 commit comments

Comments
 (0)