127 lines (104 with data), 4.1 kB
#include "libdef.any"
Main =
{
AnyFolder Test_MESHGRID = {
AnyVector x_ = {0.0,1,2,3};
AnyVector y_ = {10.0, 20.0, 30.0};
AnyVector z_ = {100.0, 200.0};
AnyFloat meshgrid = MESHGRID(x_,y_,z_);
// Note the dimension is supposed to flip x and y in dimensions. See indexing option for meshgrid in the
// numpy documentation.
AnyInt test_meshgrid_dim = expect(eqfun(SizesOf(meshgrid), {3,3,4,2}));
AnyInt test_xx = expect(eqfun(flatten(meshgrid[0]), {0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 1, 1, 2, 2, 3, 3} ));
AnyInt test_yy = expect(eqfun(flatten(meshgrid[1]), {10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 30, 30} ));
AnyInt test_zz = expect(eqfun(flatten(meshgrid[2]), {100, 200, 100, 200, 100, 200, 100, 200, 100, 200, 100, 200, 100, 200, 100, 200, 100, 200, 100, 200, 100, 200, 100, 200} ));
AnyMatrix meshtripels = MESHTRIPLES(x_,y_,z_);
AnyInt test_meshtriples_dim = expect(eqfun(SizesOf(meshtripels), {24,3}));
};
AnyFolder Test_NON_UNIQUE = {
AnyIntArray A = {1,1,3,3,5};
AnyIntArray B = {1,2,3,3,4};
AnyIntArray C = {0,1,1};
AnyObjectPtrArray P1 = {&A, &A, &B, &B};
AnyObjectPtrArray P2 = {&A, &B, &B, &A};
AnyObjectPtrArray P3 = {&A, &B, &B};
AnyObjectPtrArray P4 = {&A, &B, &C, &C};
// Tests
AnyIntArray test_01 = assert(eqfun(NON_UNIQUE_VALUES(A), {1, 3}));
AnyInt test_02 = assert(eqfun(NON_UNIQUE_VALUES(B)[0], 3));
AnyInt test_03 = assert(eqfun(NON_UNIQUE_VALUES(C), {1}));
AnyIntArray test_04 = assert(eqfun(NON_UNIQUE_POINTERS(P1), {&A, &B}));
AnyIntArray test_05 = assert(eqfun(NON_UNIQUE_POINTERS(P2), {&A, &B}));
AnyIntArray test_06 = assert(eqfun(NON_UNIQUE_POINTERS(P3), {&B}));
AnyIntArray test_07 = assert(eqfun(NON_UNIQUE_POINTERS(P4), {&C}));
};
AnyFolder Test_DIFFMAT = {
AnyFloat diffmat = DIFFMAT(5);
AnyInt test_01 = assert(eqfun(diffmat[1], {0,-1,1,0,0}));
AnyInt test_02 = assert(eqfun(diffmat[2], {0,0,-1,1,0}));
AnyInt test_03 = assert(eqfun(SizesOf(diffmat),{4,5}));
};
AnyFolder Test_PDIST = {
AnyFloat Mat = {
{0,0,0},
{1,1,1},
{2,2,2},
};
AnyFloat length = PDIST(Mat);
AnyInt test = assert(eqfun(PDIST(Mat), 2*sqrt(3)));
};
AnyFolder Test_TOTAL_POLYLINE_LENGTH ={
AnyFloat P = {
{0,0,0},
{1,0,0},
{1,1,0},
{1,1,1}
};
AnyFloat length = TOTAL_POLYLINE_LENGTH(P);
AnyInt test = assert(eqfun(length, 3));
};
AnyFolder Test_TRIU_TRIL_TRI = {
AnyFloat test_TRI = assert(
eqfun(TRI(4),
{{1.0, 0.0, 0.0, 0.0},
{1.0, 1.0, 0.0, 0.0},
{1.0, 1.0, 1.0, 0.0},
{1.0, 1.0, 1.0, 1.0}}
)
);
AnyFloat M_wide = ones(3,5);
AnyFloat M_tall = ones(6,3);
AnyInt test_TRIU_wide = assert(
eqfun(TRIU(M_wide),
{{1.0, 1.0, 1.0, 1.0, 1.0},
{0.0, 1.0, 1.0, 1.0, 1.0},
{0.0, 0.0, 1.0, 1.0, 1.0}}
)
);
AnyInt test_TRIU_tall = assert(
eqfun(TRIU(M_tall),
{{1.0, 1.0, 1.0},
{0.0, 1.0, 1.0},
{0.0, 0.0, 1.0},
{0.0, 0.0, 0.0},
{0.0, 0.0, 0.0}}
)
);
AnyInt test_TRIL_wide = assert(
eqfun(TRIL(M_wide),
{{1.0, 0.0, 0.0, 0.0, 0.0},
{1.0, 1.0, 0.0, 0.0, 0.0},
{1.0, 1.0, 1.0, 0.0, 0.0}}
)
);
AnyInt test_TRIL_tall = assert(
eqfun(TRIL(M_tall),
{{1.0, 0.0, 0.0},
{1.0, 1.0, 0.0},
{1.0, 1.0, 1.0},
{1.0, 1.0, 1.0},
{1.0, 1.0, 1.0}}
)
);
};
};