Skip to content

Commit b298897

Browse files
added first tests, global phase not working
1 parent 5d052a5 commit b298897

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

test/algorithms/test_statepreparation.cpp

+12-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99

1010
#include "Definitions.hpp"
1111
#include "algorithms/StatePreparation.hpp"
12+
#include "dd/DDDefinitions.hpp"
13+
#include "dd/FunctionalityConstruction.hpp"
1214
#include "dd/Package.hpp"
15+
#include "dd/Simulation.hpp"
1316
#include "ir/QuantumComputation.hpp"
1417

1518
#include <cmath>
@@ -37,7 +40,15 @@ INSTANTIATE_TEST_SUITE_P(
3740
std::complex{-1 / std::sqrt(2)}, 0}));
3841

3942
TEST_P(StatePreparation, StatePreparationCircuitSimulation) {
40-
ASSERT_NO_THROW({ auto qc = qc::createStatePreparationCircuit(amplitudes); });
43+
const auto expectedAmplitudes = GetParam();
44+
qc::QuantumComputation qc;
45+
ASSERT_NO_THROW({ qc = qc::createStatePreparationCircuit(amplitudes); });
46+
auto dd = std::make_unique<dd::Package<>>(qc.getNqubits());
47+
qc::VectorDD e{};
48+
ASSERT_NO_THROW(
49+
{ e = dd::simulate(qc, dd->makeZeroState(qc.getNqubits()), *dd); });
50+
auto result = e.getVector();
51+
ASSERT_EQ(expectedAmplitudes, result);
4152
}
4253

4354
TEST_P(StatePreparation, StatePreparationCircuit) {}

0 commit comments

Comments
 (0)