Commit c236167f authored by Nguyen, Thien Minh's avatar Nguyen, Thien Minh
Browse files

Added qir checks



Signed-off-by: default avatarThien Nguyen <nguyentm@ornl.gov>
parent 45237285
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
#include "gtest/gtest.h"
#include <xacc.hpp>
#include "qir-qrt.hpp"
#include "qrt.hpp"
#include "xacc_service.hpp"

TEST(QirQrtTester, checkSimple) {
  std::cout << "HOWDY\n";
  ::quantum::qrt_impl = xacc::getService<::quantum::QuantumRuntime>("nisq");
  ::quantum::qrt_impl->initialize("empty");
  int nbQubits = 5;
  auto arrayPtr = __quantum__rt__qubit_allocate_array(nbQubits);
  EXPECT_EQ(arrayPtr->size(), nbQubits);
@@ -22,6 +25,15 @@ TEST(QirQrtTester, checkSimple) {

    __quantum__qis__cnot(src, tgt);
  }
  std::cout << "HOWDY:\n"
            << ::quantum::qrt_impl->get_current_program()->toString() << "\n";
  EXPECT_EQ(::quantum::qrt_impl->get_current_program()->nInstructions(), 9);
  for (int i = 0; i < nbQubits; ++i) {
    auto inst = ::quantum::qrt_impl->get_current_program()->getInstruction(i);
    EXPECT_EQ(inst->name(), "H");
    EXPECT_EQ(inst->bits().size(), 1);
    EXPECT_EQ(inst->bits()[0], i);
  }
}

int main(int argc, char **argv) {