Salut,
Je veux créer un test unitaire pour un module qui manipule une table dans plusieurs cellules. Alors j'ai pensé à tester contre une somme de contrôle de la table
Je ne pouvais pas trouver une fonction qui vous donne une somme de contrôle pour une table prête à l'emploi.
Quelqu'un at-il une idée soignée comment le faire?
Meilleures salutations
Stefan
Je suggère d'utiliser la fonction BlobMD5. Vous souhaiterez peut-être une somme de contrôle des données à l'intérieur de la table plutôt que de l'image de disque de la table car JMP peut ajouter une date aux données binaires sur le disque ou même modifier le format dans une version ultérieure. Le premier exemple n’est probablement PAS ce que vous voulez pour un test unitaire.
// capture the md5 of the data the table saves to disk
Show(
Hex(/* make it printable */
Blob MD5(/* get the hash */
Load Text File(
"$SAMPLE_DATA/big class.jmp",
BLOB/* the result is a BLOB, not a string */
)
)
)
);
// capture the md5 of the script that will produce the table
dt = Open( "$SAMPLE_DATA/big class.jmp" );
Show( Hex( Blob MD5( Char To Blob( Char( dt << getscript ) ) ) ) );
// capture the md5 of some numeric columns in the table; avoids numeric to character conversions
Show( Hex( Blob MD5( Matrix To Blob( dt[0, {height, age, weight}], "float", 8, "little" ) ) ) );
// capture the md5 of some mixed columns in the table
Show( Hex( Blob MD5( Char To Blob( Char( dt[0, {name, height, age, weight}] ) ) ) ) );