Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 63 additions & 63 deletions library/src/tests/arithmetic.rs

Large diffs are not rendered by default.

252 changes: 117 additions & 135 deletions library/src/tests/arrays.rs

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions library/src/tests/canon.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ use super::{test_expression, test_expression_with_lib};
use indoc::indoc;
use qsc::interpret::Value;

// Tests for Microsoft.Quantum.Canon namespace
// Tests for Std.Canon namespace

#[test]
fn check_apply_to_each() {
test_expression(
indoc! {r#"{
use register = Qubit[3];
ApplyToEach(X, register);
let results = Microsoft.Quantum.Measurement.MeasureEachZ(register);
let results = Std.Measurement.MeasureEachZ(register);
ResetAll(register);
results
}"#},
Expand All @@ -27,8 +27,8 @@ fn check_apply_to_each_a() {
indoc! {r#"{
use register = Qubit[3];
ApplyToEach(X, register);
Adjoint Microsoft.Quantum.Canon.ApplyToEachA(X, register);
let results = Microsoft.Quantum.Measurement.MResetEachZ(register);
Adjoint Std.Canon.ApplyToEachA(X, register);
let results = Std.Measurement.MResetEachZ(register);
results
}"#},
&Value::Array(vec![Value::RESULT_ZERO, Value::RESULT_ZERO, Value::RESULT_ZERO].into()),
Expand All @@ -41,8 +41,8 @@ fn check_apply_to_each_c_applied() {
indoc! {r#"{
use control = Qubit();
use register = Qubit[3];
Controlled Microsoft.Quantum.Canon.ApplyToEachC([control], (X, register));
let results = Microsoft.Quantum.Measurement.MResetEachZ(register);
Controlled Std.Canon.ApplyToEachC([control], (X, register));
let results = Std.Measurement.MResetEachZ(register);
Reset(control);
results
}"#},
Expand All @@ -57,8 +57,8 @@ fn check_apply_to_each_c_not_applied() {
use control = Qubit();
use register = Qubit[3];
X(control);
Controlled Microsoft.Quantum.Canon.ApplyToEachC([control], (X, register));
let results = Microsoft.Quantum.Measurement.MResetEachZ(register);
Controlled Std.Canon.ApplyToEachC([control], (X, register));
let results = Std.Measurement.MResetEachZ(register);
Reset(control);
results
}"#},
Expand All @@ -72,9 +72,9 @@ fn check_apply_to_each_ca_applied() {
indoc! {r#"{
use control = Qubit();
use register = Qubit[3];
Microsoft.Quantum.Canon.ApplyToEach(X, register);
Controlled Adjoint Microsoft.Quantum.Canon.ApplyToEachCA([control], (X, register));
let results = Microsoft.Quantum.Measurement.MResetEachZ(register);
Std.Canon.ApplyToEach(X, register);
Controlled Adjoint Std.Canon.ApplyToEachCA([control], (X, register));
let results = Std.Measurement.MResetEachZ(register);
Reset(control);
results
}"#},
Expand All @@ -89,9 +89,9 @@ fn check_apply_to_each_ca_not_applied() {
use control = Qubit();
use register = Qubit[3];
X(control);
Microsoft.Quantum.Canon.ApplyToEach(X, register);
Controlled Adjoint Microsoft.Quantum.Canon.ApplyToEachCA([control], (X, register));
let results = Microsoft.Quantum.Measurement.MResetEachZ(register);
Std.Canon.ApplyToEach(X, register);
Controlled Adjoint Std.Canon.ApplyToEachCA([control], (X, register));
let results = Std.Measurement.MResetEachZ(register);
Reset(control);
results
}"#},
Expand Down
40 changes: 14 additions & 26 deletions library/src/tests/convert.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@
use super::test_expression;
use qsc::interpret::Value;

// Tests for Microsoft.Quantum.Convert namespace
// Tests for Std.Convert namespace

#[test]
fn check_bool_array_as_int() {
test_expression(
"Microsoft.Quantum.Convert.BoolArrayAsInt([true, false, true, false])",
"Std.Convert.BoolArrayAsInt([true, false, true, false])",
&Value::Int(0b0101),
);
}

#[test]
fn check_int_as_bool_array() {
test_expression(
"Microsoft.Quantum.Convert.IntAsBoolArray(5,4)",
"Std.Convert.IntAsBoolArray(5,4)",
&Value::Array(
vec![
Value::Bool(true),
Expand All @@ -33,7 +33,7 @@ fn check_int_as_bool_array() {
#[test]
fn check_bigint_as_bool_array() {
test_expression(
"Microsoft.Quantum.Convert.BigIntAsBoolArray(18446744073709551616L, 128)", // note: 18446744073709551616L == 2^64
"Std.Convert.BigIntAsBoolArray(18446744073709551616L, 128)", // note: 18446744073709551616L == 2^64
&Value::Array(
vec![
Value::Bool(false),
Expand Down Expand Up @@ -204,39 +204,33 @@ fn check_big_int_as_int_min() {
#[test]
fn check_bool_array_as_big_int() {
test_expression(
"Microsoft.Quantum.Convert.BoolArrayAsBigInt([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false])",
"Std.Convert.BoolArrayAsBigInt([false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false])",
&Value::BigInt(18_446_744_073_709_551_616_u128.into()),
);
}

#[test]
fn check_result_array_as_int() {
test_expression(
"Microsoft.Quantum.Convert.ResultArrayAsInt([One, Zero, One, Zero])",
"Std.Convert.ResultArrayAsInt([One, Zero, One, Zero])",
&Value::Int(0b0101),
);
}

#[test]
fn check_result_zero_as_bool() {
test_expression(
"Microsoft.Quantum.Convert.ResultAsBool(Zero)",
&Value::Bool(false),
);
test_expression("Std.Convert.ResultAsBool(Zero)", &Value::Bool(false));
}

#[test]
fn check_result_one_as_bool() {
test_expression(
"Microsoft.Quantum.Convert.ResultAsBool(One)",
&Value::Bool(true),
);
test_expression("Std.Convert.ResultAsBool(One)", &Value::Bool(true));
}

#[test]
fn check_result_array_as_bool_array() {
test_expression(
"Microsoft.Quantum.Convert.ResultArrayAsBoolArray([One, Zero, One, Zero])",
"Std.Convert.ResultArrayAsBoolArray([One, Zero, One, Zero])",
&Value::Array(
vec![
Value::Bool(true),
Expand All @@ -251,24 +245,18 @@ fn check_result_array_as_bool_array() {

#[test]
fn check_bool_true_as_result() {
test_expression(
"Microsoft.Quantum.Convert.BoolAsResult(true)",
&Value::RESULT_ONE,
);
test_expression("Std.Convert.BoolAsResult(true)", &Value::RESULT_ONE);
}

#[test]
fn check_bool_false_as_result() {
test_expression(
"Microsoft.Quantum.Convert.BoolAsResult(false)",
&Value::RESULT_ZERO,
);
test_expression("Std.Convert.BoolAsResult(false)", &Value::RESULT_ZERO);
}

#[test]
fn check_bool_array_as_result_array() {
test_expression(
"Microsoft.Quantum.Convert.BoolArrayAsResultArray([true, false, true, false])",
"Std.Convert.BoolArrayAsResultArray([true, false, true, false])",
&Value::Array(
vec![
Value::RESULT_ONE,
Expand All @@ -288,7 +276,7 @@ fn test_complex_as_complex_polar() {
"{
import Std.Math.*;
let a = Complex(2.0*Cos(1.0), 2.0*Sin(1.0));
Microsoft.Quantum.Convert.ComplexAsComplexPolar(a)
Std.Convert.ComplexAsComplexPolar(a)
}"
},
&Value::Tuple(vec![Value::Double(2.0), Value::Double(1.0)].into(), None),
Expand All @@ -302,7 +290,7 @@ fn test_complex_polar_as_complex() {
"{
import Std.Math.*;
let a = ComplexPolar(Sqrt(5.0), ArcTan2(1.0, 2.0));
Microsoft.Quantum.Convert.ComplexPolarAsComplex(a)
Std.Convert.ComplexPolarAsComplex(a)
}"
},
&Value::Tuple(vec![Value::Double(2.0), Value::Double(1.0)].into(), None),
Expand Down
2 changes: 1 addition & 1 deletion library/src/tests/core.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
use super::test_expression;
use qsc::interpret::{Value, ValueRange};

// Tests for Microsoft.Quantum.Core namespace
// Tests for the core namespace

#[test]
fn check_range_1_5() {
Expand Down
Loading
Loading