[bfdf16]: / Tests / test_helper_templates.any

Download this file

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}}
             )
          );
  };
  
  
};