DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
test_ArrayDerived.cpp File Reference

Comprehensive doctest-based unit tests for DNDS ArrayDerived types: ArrayAdjacency, ArrayEigenVector, ArrayEigenMatrix, ArrayEigenMatrixBatch, and ArrayEigenUniMatrixBatch. More...

#include "doctest.h"
#include "DNDS/ArrayPair.hpp"
#include "DNDS/ArrayTransformer.hpp"
#include <memory>
#include <numeric>
#include <vector>
Include dependency graph for test_ArrayDerived.cpp:

Go to the source code of this file.

Classes

struct  AdjTag< RS >
 
struct  VecTag< VS >
 
struct  MatTag< NI, NJ >
 

Macros

#define DOCTEST_CONFIG_IMPLEMENT
 

Functions

int main (int argc, char **argv)
 
 TEST_CASE ("ArrayAdjacency basics")
 
 TEST_CASE ("ArrayAdjacency ghost communication")
 
 TEST_CASE ("ArrayEigenVector basics")
 
 TEST_CASE ("ArrayEigenVector ghost communication")
 
 TEST_CASE ("ArrayEigenMatrix basics")
 
 TEST_CASE ("ArrayEigenMatrix dynamic sizes")
 
 TEST_CASE ("ArrayEigenMatrix ghost communication")
 
 TEST_CASE ("ArrayEigenMatrixBatch basics")
 
 TEST_CASE ("ArrayEigenUniMatrixBatch basics")
 
 TEST_CASE ("ArrayEigenUniMatrixBatch static sizes")
 
 TEST_CASE ("ArrayAdjacency clone")
 
 TEST_CASE ("ArrayEigenMatrix NonUniformSize rows")
 
 TEST_CASE ("ArrayEigenVector static size")
 
 TEST_CASE ("ArrayEigenMatrixBatch ghost communication")
 
 TEST_CASE ("ArrayAdjacency fixed-size variant")
 
 TYPE_TO_STRING (AdjTag< 2 >)
 
 TYPE_TO_STRING (AdjTag< 5 >)
 
 TYPE_TO_STRING (AdjTag< 8 >)
 
 TYPE_TO_STRING (AdjTag< NonUniformSize >)
 
 TEST_CASE_TEMPLATE ("ArrayAdjacency parametric", Tag, AdjTag< 2 >, AdjTag< 5 >, AdjTag< 8 >, AdjTag< NonUniformSize >)
 
 TYPE_TO_STRING (VecTag< 1 >)
 
 TYPE_TO_STRING (VecTag< 3 >)
 
 TYPE_TO_STRING (VecTag< 7 >)
 
 TYPE_TO_STRING (VecTag< DynamicSize >)
 
 TEST_CASE_TEMPLATE ("ArrayEigenVector parametric", Tag, VecTag< 1 >, VecTag< 3 >, VecTag< 7 >, VecTag< DynamicSize >)
 
 TYPE_TO_STRING (MatTag< 2, 3 >)
 
 TYPE_TO_STRING (MatTag< 4, 5 >)
 
 TYPE_TO_STRING (MatTag< 1, 7 >)
 
 TYPE_TO_STRING (MatTag< DynamicSize, DynamicSize >)
 
 TEST_CASE_TEMPLATE ("ArrayEigenMatrix parametric", Tag, MatTag< 2, 3 >, MatTag< 4, 5 >, MatTag< 1, 7 >, MatTag< DynamicSize, DynamicSize >)
 

Detailed Description

Comprehensive doctest-based unit tests for DNDS ArrayDerived types: ArrayAdjacency, ArrayEigenVector, ArrayEigenMatrix, ArrayEigenMatrixBatch, and ArrayEigenUniMatrixBatch.

Run under mpirun with 1, 2, and 4 ranks. Tests construction, resize, compress, element access, ghost communication via ArrayTransformer, and clone independence for each derived array type.

See also
DNDS Core Unit Tests for the full test-suite overview.
Test:
ArrayAdjacency (basics, ghost comm, clone, fixed-size), ArrayEigenVector (static, dynamic, ghost comm), ArrayEigenMatrix (static, dynamic, NonUniform, ghost comm), ArrayEigenMatrixBatch (basics, ghost comm), ArrayEigenUniMatrixBatch (static, dynamic).

Definition in file test_ArrayDerived.cpp.

Macro Definition Documentation

◆ DOCTEST_CONFIG_IMPLEMENT

#define DOCTEST_CONFIG_IMPLEMENT

Definition at line 19 of file test_ArrayDerived.cpp.

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 29 of file test_ArrayDerived.cpp.

◆ TEST_CASE() [1/15]

TEST_CASE ( "ArrayAdjacency basics"  )

Definition at line 72 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [2/15]

TEST_CASE ( "ArrayAdjacency clone"  )

Definition at line 566 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [3/15]

TEST_CASE ( "ArrayAdjacency fixed-size variant"  )

Definition at line 742 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [4/15]

TEST_CASE ( "ArrayAdjacency ghost communication"  )

Definition at line 131 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [5/15]

TEST_CASE ( "ArrayEigenMatrix basics"  )

Definition at line 266 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [6/15]

TEST_CASE ( "ArrayEigenMatrix dynamic sizes"  )

Definition at line 311 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [7/15]

TEST_CASE ( "ArrayEigenMatrix ghost communication"  )

Definition at line 348 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [8/15]

TEST_CASE ( "ArrayEigenMatrix NonUniformSize rows"  )

Definition at line 597 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [9/15]

TEST_CASE ( "ArrayEigenMatrixBatch basics"  )

Definition at line 395 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [10/15]

TEST_CASE ( "ArrayEigenMatrixBatch ghost communication"  )

Definition at line 673 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [11/15]

TEST_CASE ( "ArrayEigenUniMatrixBatch basics"  )

Definition at line 457 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [12/15]

TEST_CASE ( "ArrayEigenUniMatrixBatch static sizes"  )

Definition at line 522 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [13/15]

TEST_CASE ( "ArrayEigenVector basics"  )

Definition at line 181 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [14/15]

TEST_CASE ( "ArrayEigenVector ghost communication"  )

Definition at line 222 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE() [15/15]

TEST_CASE ( "ArrayEigenVector static size"  )

Definition at line 643 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE_TEMPLATE() [1/3]

TEST_CASE_TEMPLATE ( "ArrayAdjacency parametric"  ,
Tag  ,
AdjTag< 2 >  ,
AdjTag< 5 >  ,
AdjTag< 8 >  ,
AdjTag< NonUniformSize >   
)

Definition at line 786 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE_TEMPLATE() [2/3]

TEST_CASE_TEMPLATE ( "ArrayEigenMatrix parametric"  ,
Tag  ,
MatTag< 2, 3 >  ,
MatTag< 4, 5 >  ,
MatTag< 1, 7 >  ,
MatTag< DynamicSize, DynamicSize >   
)

Definition at line 964 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TEST_CASE_TEMPLATE() [3/3]

TEST_CASE_TEMPLATE ( "ArrayEigenVector parametric"  ,
Tag  ,
VecTag< 1 >  ,
VecTag< 3 >  ,
VecTag< 7 >  ,
VecTag< DynamicSize >   
)

Definition at line 875 of file test_ArrayDerived.cpp.

Here is the call graph for this function:

◆ TYPE_TO_STRING() [1/12]

TYPE_TO_STRING ( AdjTag< 2 >  )

◆ TYPE_TO_STRING() [2/12]

TYPE_TO_STRING ( AdjTag< 5 >  )

◆ TYPE_TO_STRING() [3/12]

TYPE_TO_STRING ( AdjTag< 8 >  )

◆ TYPE_TO_STRING() [4/12]

TYPE_TO_STRING ( AdjTag< NonUniformSize >  )

◆ TYPE_TO_STRING() [5/12]

TYPE_TO_STRING ( MatTag< 1, 7 >  )

◆ TYPE_TO_STRING() [6/12]

TYPE_TO_STRING ( MatTag< 2, 3 >  )

◆ TYPE_TO_STRING() [7/12]

TYPE_TO_STRING ( MatTag< 4, 5 >  )

◆ TYPE_TO_STRING() [8/12]

TYPE_TO_STRING ( MatTag< DynamicSize, DynamicSize >  )

◆ TYPE_TO_STRING() [9/12]

TYPE_TO_STRING ( VecTag< 1 >  )

◆ TYPE_TO_STRING() [10/12]

TYPE_TO_STRING ( VecTag< 3 >  )

◆ TYPE_TO_STRING() [11/12]

TYPE_TO_STRING ( VecTag< 7 >  )

◆ TYPE_TO_STRING() [12/12]

TYPE_TO_STRING ( VecTag< DynamicSize >  )