https://github.com/ITensor/ITensor
Tip revision: 7ab2c23aff891e91fd368e384c107defd1643c88 authored by Miles Stoudenmire on 16 May 2015, 18:07:22 UTC
Merge branch develop into branch master
Merge branch develop into branch master
Tip revision: 7ab2c23
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);
}
}