function splitting_multihedral_matrix_test ( )

%*****************************************************************************80
%
%% splitting_multihedral_matrix_test() tests splitting_multihedral_matrix().
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    16 February 2023
%
%  Author:
%
%    John Burkardt
%
  fprintf ( 1, '\n' );
  fprintf ( 1, 'splitting_multihedral_matrix_test():\n' );
  fprintf ( 1, '  splitting_multihedral_matrix() constructs the linear system\n' );
  fprintf ( 1, '    A*x=b\n' );
  fprintf ( 1, '  associated with the problem of tiling a region R with\n' );
  fprintf ( 1, '  copies of several polyominoes P, with C colors.\n' );

  R = [ ...
    1, 1, 1, 1; ...
    1, 1, 1, 1 ];

  p_num = 3;

  P_shapes = zeros ( 2, 4, p_num );
  P_shapes(:,:,1) = [ ...
    1, 1, 1, 0; ...
    1, 0, 0, 0 ];
  P_shapes(:,:,2) = [ ...
    1, 0, 0, 0; ...
    0, 0, 0, 0 ];
  P_shapes(:,:,3) = [ ...
    1, 1, 1, 0; ...
    0, 0, 0, 0 ];

  d = [ 1, 1, 1 ];

  C = 2;

  [ A, b ] = splitting_multihedral_matrix ( R, p_num, P_shapes, d, C );

  fprintf ( '\n' )
  fprintf ( '  Linear system A|b:\n' );
  disp ( [ A, b ] )
%
%  Terminate.
%
  fprintf ( 1, 'splitting_multihedral_matrix_test():\n' );
  fprintf ( 1, '  Normal end of execution.\n' );

  return
end

