WIP: ltest
This commit is contained in:
parent
954b072dc7
commit
690b0d0830
3 changed files with 83 additions and 0 deletions
|
@ -234,6 +234,7 @@ namespace CNORXZ
|
|||
template <typename I, typename M>
|
||||
T& ArrayBase<T>::operator[](const IndexInterface<I,M>& i)
|
||||
{
|
||||
// TODO: if format of i is non-trivial, use that format without check (checks only in at()!)
|
||||
if(this->formatIsTrivial()){
|
||||
return data()[i.lex()];
|
||||
}
|
||||
|
|
|
@ -27,6 +27,11 @@ add_dependencies(mautest cnorxz)
|
|||
target_link_libraries(mautest ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} cnorxz test_lib)
|
||||
add_test(NAME mautest COMMAND mautest)
|
||||
|
||||
add_executable(lutest l_unit_test.cc)
|
||||
add_dependencies(lutest cnorxz)
|
||||
target_link_libraries(lutest ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} cnorxz test_lib)
|
||||
add_test(NAME lutest COMMAND lutest)
|
||||
|
||||
add_executable(oputest operation_unit_test.cc)
|
||||
add_dependencies(oputest cnorxz)
|
||||
target_link_libraries(oputest ${GTEST_BOTH_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} cnorxz test_lib)
|
||||
|
|
77
src/tests/l_unit_test.cc
Normal file
77
src/tests/l_unit_test.cc
Normal file
|
@ -0,0 +1,77 @@
|
|||
// -*- C++ -*-
|
||||
/**
|
||||
|
||||
@file tests/l_unit_test.cc
|
||||
@brief MArray unit tests.
|
||||
|
||||
Copyright (c) 2024 Christian Zimmermann. All rights reserved.
|
||||
Mail: chizeta@f3l.de
|
||||
|
||||
**/
|
||||
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
#include "cnorxz.h"
|
||||
#include "test_numbers.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
using namespace CNORXZ;
|
||||
using Test::Numbers;
|
||||
|
||||
class L_Test : public ::testing::Test
|
||||
{
|
||||
protected:
|
||||
|
||||
L_Test()
|
||||
{
|
||||
auto a4 = Arr<SizeT,4> { 0,1,2,3 };
|
||||
auto a3 = Arr<SizeT,3> { 0,1,2 };
|
||||
mSpinR = std::dynamic_pointer_cast<SRange<SizeT,4>> ( SRangeFactory<SizeT,4>(a4).create() );
|
||||
mColorR = std::dynamic_pointer_cast<SRange<SizeT,3>> ( SRangeFactory<SizeT,3>(a3).create() );
|
||||
mSpatialR = std::dynamic_pointer_cast<CRange> ( CRangeFactory(8).create() );
|
||||
mTemporalR = std::dynamic_pointer_cast<CRange> ( CRangeFactory(24).create() );
|
||||
mLocSR = std::dynamic_pointer_cast<CRange> ( CRangeFactory(4).create() );
|
||||
mLocTR = std::dynamic_pointer_cast<CRange> ( CRangeFactory(8).create() );
|
||||
mRaSR = std::dynamic_pointer_cast<CRange> ( CRangeFactory(2).create() );
|
||||
mRaTR = std::dynamic_pointer_cast<CRange> ( CRangeFactory(3).create() );
|
||||
mData = MArray<Double>(yrange({mRaTR,mRaSR,mRaSR,mRaSR,mLocTR,mLocSR,mLocSR,mLocSR,mSpinR,mColorR,mSpinR,mColorR}));
|
||||
mDataFormat = mData.begin().format();
|
||||
auto vf = mDataFormat.all();
|
||||
vf[0] = mDataFormat[0];
|
||||
vf[1] = mDataFormat[4];
|
||||
vf[2] = mDataFormat[1];
|
||||
vf[3] = mDataFormat[5];
|
||||
vf[4] = mDataFormat[2];
|
||||
vf[5] = mDataFormat[6];
|
||||
vf[6] = mDataFormat[3];
|
||||
vf[7] = mDataFormat[7];
|
||||
mViewFormat = YFormat(vf);
|
||||
mView = Slice<Double>(yrange({mRaTR,mLocTR,mRaSR,mLocSR,mRaSR,mLocSR,mRaSR,mLocSR,mSpinR,mColorR,mSpinR,mColorR}), &mData, mViewFormat, 0);
|
||||
}
|
||||
|
||||
Sptr<SRange<SizeT,4>> mSpinR;
|
||||
Sptr<SRange<SizeT,3>> mColorR;
|
||||
Sptr<CRange> mSpatialR;
|
||||
Sptr<CRange> mTemporalR;
|
||||
Sptr<CRange> mLocSR;
|
||||
Sptr<CRange> mLocTR;
|
||||
Sptr<CRange> mRaSR;
|
||||
Sptr<CRange> mRaTR;
|
||||
|
||||
MArray<Double> mData;
|
||||
Slice<Double> mView;
|
||||
YFormat mDataFormat;
|
||||
YFormat mViewFormat;
|
||||
};
|
||||
|
||||
TEST_F(L_Test, Basic)
|
||||
{
|
||||
EXPECT_EQ(mData.size(), mView.size());
|
||||
VCHECK(mData.size());
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue