https://github.com/ITensor/ITensor
Tip revision: d5d9dc1be8ab1a67ecf84e24efdb9402420d9a85 authored by Miles Stoudenmire (hr) on 30 May 2014, 14:10:11 UTC
Fixed a type definition causing compilation error in spectrum.cc.
Fixed a type definition causing compilation error in spectrum.cc.
Tip revision: d5d9dc1
index_test.cc
#include "test.h"
#include "index.h"
using namespace itensor;
using namespace std;
TEST_CASE("IndexTest")
{
SECTION("Boolean")
{
Index i1;
CHECK(!i1);
CHECK(1 == i1.m());
Index i2("i2");
CHECK(i2);
CHECK(1 == i2.m());
}
SECTION("Primes")
{
Index I("I");
I = prime(I);
CHECK_EQUAL(I.primeLevel(),1);
I = prime(I);
CHECK_EQUAL(I.primeLevel(),2);
I = prime(I,7);
CHECK_EQUAL(I.primeLevel(),9);
I = prime(I,-7);
CHECK_EQUAL(I.primeLevel(),2);
}
SECTION("IndexVal Basic")
{
Index i("i",4);
IndexVal iv = i(2);
CHECK(iv.i == 2);
CHECK(iv.index == i);
CHECK(iv.m() == 4);
if(iv) CHECK(true);
else CHECK(false);
IndexVal ivP = prime(iv);
iv.prime();
CHECK(ivP == iv);
IndexVal def;
if(def) CHECK(false);
else CHECK(true);
}
}