function variomino_tiling_print_test ( )

%*****************************************************************************80
%
%% variomino_tiling_print_test() tests variomino_tiling_print().
%
%  Discussion:
%
%    The region R consists of the following arrangement of square cells:
%
%      +1  0  0  0
%      -1  0  0  0
%      +1 -1 +1 -1
%      -1 +1 -1 +1
%
%    This region is to be tiled by 1 copy each of 3 variominoes.
%
%    The shapes of the 3 variominoes are
%
%      N =  0  0 -1
%          +1 -1 +1
% 
%      O = -1 +1 -1
%
%      P =  0 +1
%          +1 -1
%
%    For this problem, there is one solution:
%
%      N 0 0 0
%      N 0 0 0
%      N N P P
%      O O O P
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    21 April 2023
%
%  Author:
%
%    John Burkardt
%
  fprintf ( 1, '\n' );
  fprintf ( 1, 'variomino_tiling_print_test\n' );
  fprintf ( 1, '  MATLAB/Octave version %s\n', version ( ) );
  fprintf ( 1, '  Given a solutions for the Reid variomino\n' );
  fprintf ( 1, '  tiling problem, print corresponding tilings.\n' );
%
%  Define R.
%
  r_shape = [ ...
     3,  1,  0; ...
     2,  3,  1; ...
     1,  2,  3 ];
  [ m_r, n_r ] = size ( r_shape );
  variomino_print ( r_shape, '  Region R:' );
%
%  Define N, O, P
%
  n_shape = [ ...
    1, 2 ];
  [ m_n, n_n ] = size ( n_shape );
  variomino_print ( n_shape, '  variomino N:' );

  o_shape = [ ...
    2, 3 ];
  [ m_o, n_o ] = size ( o_shape );
  variomino_print ( o_shape, '  variomino O:' );

  p_shape = [ ...
     1, 3 ];
  [ m_p, n_p ] = size ( p_shape );
  variomino_print ( p_shape, '  variomino P:' );
%
%  Pack the arrays into P.
%
  p_num = 3;
  p_shapes = zeros ( m_r, n_r, p_num );
  p_shapes(1:m_n,1:n_n,1) = n_shape(1:m_n,1:n_n);
  p_shapes(1:m_o,1:n_o,2) = o_shape(1:m_o,1:n_o);
  p_shapes(1:m_p,1:n_p,3) = p_shape(1:m_p,1:n_p);
%
%  D indicates how many times each variomino is to be used.
%
  d = [ 1, 1, 2 ];
%
%  Define the 1 solution X, obtained by variomino_tiling_solver.
%
  x = [ ...
   1; ...
   0; ...
   0; ...
   0; ...
   1; ...
   0; ...
   0; ...
   0; ...
   1; ...
   1 ];
%
%  Print the tiling.
%
  label = '  Reid variomino tiling';
  variomino_tiling_print ( r_shape, p_num, p_shapes, d, x, label );

  return
end

