Opérateurs de test et Paramètres

Pour les jeux de données de type file

filesize()

  • Description : Retourne la taille du fichier en octet. Cette fonction doit être utilisée avec source@type='file'

  • Paramètres : Pas de paramètre

  • Exemple :

<check label="Spatialite file size in octet">
  <source type="file" dataset="result\dbcountry.sqlite" request="fileSize()"/>
  <condition comparator="in range" expectedvalue="[5630000,5645000]"/>
</check>

Pour les jeux de données de type datafile

featuresCount()

  • Description : Retourne le nombre d'entités du jeu de données ou d'un ou plusieurs types d'entités spécifiques. Cette fonction doit être utilisée avec source@type='datafile'

  • Paramètres : L'attribut check@requestparams peut contenir la liste des types d'entités à dénombrer séparés par le caractère espace. Si requestparams n'est pas défini ou est vide, featuresCount() renvoie le nombre total d'entités du jeu de données.

  • Exemple : Nombre d'entités dans les types d'entités country et spatial_ref_sys du jeu de données SQLite.

<check label="Number of features in country and spatial_ref_sys">
  <source type="datafile" format="SQLITE3" dataset="./result/dbcountry.sqlite" request="featuresCount()" requestparams="country spatial_ref_sys"/>
  <condition comparator="eq" expectedvalue="4925"/>
</check>

Nombre total d'entités dans le jeu de données SQLite.

<check label="Number of features in country and spatial_ref_sys">
  <source type="datafile" format="SQLITE3" dataset="./result/dbcountry.sqlite" request="featuresCount()"/>
  <condition comparator="eq" expectedvalue="4925"/>
</check>

featuresCountByFtAndGeometry()

  • Description : Retourne le nombre d'entités du jeu de données par type d'entités et par type de géométrie. Cette fonction est particulièrement puissante pour vérifier rapidement le contenu de jeux de données complexes tels que AutoCAD DWG ou PDF. Le résultat est renvoyé sous la forme suivante :

ft.geom:count

où :

  • ft : nom du type d'entités

  • geom : type de géométrie (valeur de l'attribut de format fme_geometry)

  • count : nombre d'entités trouvées.

Le caractère | délimite les éléments de la liste.

  • Paramètres : Pas de paramètre

  • Exemple : Nombre d'entités par entité et type de géométrie dans un fichier ESRI Shapefile.

<check label="Country name in Shapefile in a simple directory from featuresCountByFtAndGeometry()">
  <source type="datafile" format="ESRISHAPE" dataset="./result/COUNTRY.shp" request="featuresCountByFtAndGeometry()"/>
  <condition comparator="eq" expectedvalue="COUNTRY.fme_donut:1"/>
</check>

Exemple de résultat :

frame.fme_polygon:1|generic edge.fme_line:125|generic edge.fme_point:125

attributeValue()

  • Description : Renvoie la valeur d'un attribut pour un enregistrement donné.

  • Paramètres : Il est nécessaire d'utiliser requestparams pour définir trois paramètres à la fonction attributeValue().

    • Le premier est le nom du type d'entités

    • Le second est le nom du champ à retourner

    • Le troisième est l'index de l'enregistrement (début à 1)

Les paramètres sont séparés par une virgule.

  • Exemple : Valeur du champ "NAME" du premier enregistrement du type d'entités "COUNTRY".

<check>
  <source type="datafile" format="ESRISHAPE" dataset="./result/COUNTRY.shp" request="attributeValue()" requestparams="COUNTRY,NAME,1"/>
  <condition comparator="eq" expectedvalue="Switzerland"/>
</check>

Pour les jeux de données de type database

Il n'y a pas d'opérateur de test pour les jeux de données de type database. A la place, il est nécessaire d'utiliser une requête SQL dans l'attribut source@dbrequest pour calculer la valeur observée. Ce mécanisme est beaucoup plus puissant et permet d'assurer pratiquement toutes les vérifications possibles sur un jeu de données.