/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        T E S T   D E S   F O N C T I O N S   D E   G E S T I O N   D E   L I S T E  :                                             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Author of '$xtKg/liste.01$K' :                                                                                             */
/*                                                                                                                                   */
/*                    Jean-Francois COLONNA (LACTAMME, 1987??????????).                                                              */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        I N T E R F A C E   ' listG '  :                                                                                           */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        :Debut_listG:                                                                                                              */
/*        :Fin_listG:                                                                                                                */
/*                                                                                                                                   */
/*************************************************************************************************************************************/

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        D I R E C T I V E S   S P E C I F I Q U E S   D E   C O M P I L A T I O N  :                                               */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
@define   PRAGMA_CPP_____MODULE_NON_DERIVABLE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        F I C H I E R S   D ' I N C L U D E S  :                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#include  INCLUDES_BASE

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        P A R A M E T R E S  :                                                                                                     */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
#define   PRINT(element,message)                                                                                                        \
                    Bblock                                                                                                              \
                    CAL2(Prin1("%s",message));                                                                                          \
                    CAL2(Prin1(" adresse = %08X",element));                                                                             \
                    CAL2(Prin0("\n"));                                                                                                  \
                    CAL2(Prin1("chainage precedent = %08X\n",ASI2(element,header,precedent_chainage)));                                 \
                    CAL2(Prin1("chainage suivant   = %08X\n",ASI2(element,header,suivant_chainage)));                                   \
                    CAL2(Prin1("volume en octets   = %08X\n",ASI2(element,header,volume)));                                             \
                    CAL2(Prin1("information = %s\n",ASI1(element,informations)));                                                       \
                    Eblock

/*===================================================================================================================================*/
/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        T E S T   D E S   F O N C T I O N S   D E   G E S T I O N   D E   L I S T E  :                                             */
/*                                                                                                                                   */
/*************************************************************************************************************************************/
BCommande(nombre_d_arguments,arguments)
/*-----------------------------------------------------------------------------------------------------------------------------------*/
     Bblock
     DEFV(l_element,element1);
     DEFV(l_element,INIT(POINTERs(tete_de_liste),LISTE_UNDEF));
     DEFV(l_element,INIT(POINTERs(element01),LISTE_UNDEF));
     DEFV(l_element,INIT(POINTERs(element02),LISTE_UNDEF));
     DEFV(l_element,INIT(POINTERs(element03),LISTE_UNDEF));
     DEFV(l_element,INIT(POINTERs(element04),LISTE_UNDEF));
     DEFV(l_element,INIT(POINTERs(element05),LISTE_UNDEF));
     DEFV(CHAR,INIT(POINTERc(informations),CHAINE_UNDEF));
     /*..............................................................................................................................*/
     GET_ARGUMENTS_(nombre_d_arguments
                   ,BLOC(VIDE;)
                    );

     CAL2(Prin1("\n volume maximal d'informations en octets = %d",v_element));
     CAL2(Prin1("\n longueur de l'en-tete d'un element en octets = %d",sizeof(ASD1(element1,header))));
     CAL2(Prin1("\n longueur d'un element en octets = %d",sizeof(element1)));

     EGAL(tete_de_liste,Flist_creation());
     CAL2(Prin0("\n---------------------------------------------------------------------------------------"));
     PRINT(tete_de_liste,"TETE DE LISTE");

     EGAL(element02,Flist_GTelement(tete_de_liste,"COLONNA 2"));
     CAL2(Prin0("\n---------------------------------------------------------------------------------------"));
     PRINT(element02,"ELEMENT 02"); PRINT(tete_de_liste,"TETE DE LISTE");

     EGAL(element01,Flist_GTelement(tete_de_liste,"COLONNA 1"));
     CAL2(Prin0("\n---------------------------------------------------------------------------------------"));
     PRINT(element02,"ELEMENT 02"); PRINT(element01,"ELEMENT 01"); PRINT(tete_de_liste,"TETE DE LISTE");

     EGAL(element03,Flist_GQelement(tete_de_liste,"COLONNA 3"));
     CAL2(Prin0("\n---------------------------------------------------------------------------------------"));
     PRINT(element03,"ELEMENT 03"); PRINT(element02,"ELEMENT 02"); PRINT(element01,"ELEMENT 01"); PRINT(tete_de_liste,"TETE DE LISTE");

     EGAL(informations,Flist_STelement(tete_de_liste));
     CAL2(Prin0("\n---------------------------------------------------------------------------------------"));
     CAL2(Prin2("\n %08X octets = %s",chain_taille(informations),informations));
     PRINT(element03,"ELEMENT 03"); PRINT(element02,"ELEMENT 02"); PRINT(tete_de_liste,"TETE DE LISTE");

     EGAL(informations,Flist_SQelement(tete_de_liste));
     CAL2(Prin0("\n---------------------------------------------------------------------------------------"));
     CAL2(Prin2("\n %08X octets = %s",chain_taille(informations),informations));
     PRINT(element02,"ELEMENT 02"); PRINT(tete_de_liste,"TETE DE LISTE");

     RETU_Commande;
     Eblock
ECommande



Copyright © Jean-François COLONNA, 2019-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2019-2024.