Un cas de test pour le module fixed.so

Ecrivons un case de test TTF pour le module fixed.c que nous avons écrit au chapitre 2. D'abord, nous devons écrire un fichier de configuration XML valide, qui utilise le module. Dans ce cas, nous pouvons utiliser notre fichier de configuration fixed.xml, donné en exemple. Copiez-le dans un nouveau fichier fixed-1.xml.

Nous devons maintenant ajouter le code Scheme dans le bloc de commentaires. Puisque notre module est très simple (il oblige seulement certains évènements à utiliser une ressource variable spécifique), nous pouvons vérifier si la solution est correcte en appelant simplement la fonction dummy-type . Dans ce cas, nous vérifions seulement di le premier évènement défini utilise la ressource avec le nom "30".

 
<?xml version="1.0" encoding="iso-8859-1"?>

<!-- BEGIN TTF BLOCK
(test-ttf
        (dummy-type 0 29)
)
END TTF BLOCK -->

<ttm version="0.2.0">
        <modules>
                <module name="fixed.so" weight="10" mandatory="yes"/> 
        </modules>

        <resources>
                <variable>
                        <resourcetype type="dummy-type">
                                <linear name="#" from="1" to="50"/>
                        </resourcetype>
                </variable>
        </resources>

        <events>
                <event name="dummy-event" repeats="1">
                        <restriction type="fixed-dummy-type">30</restriction>
                </event>
        </events>
</ttm>

Le premier argument de la fonction dummy-type est l'identifiant de tuple de l'unique évènement défini dans ce fichier de configuration. Le second argument est l'identifiant de la ressource que cet évènement doit utiliser. Puisque les identifiants de ressources sont des nombres positifs, partant de 0, et que nous nommons les ressources avec des entiers commençant à 1, l'identifiant de ressource est égal au nom de la ressource moins 1.

Conseil: Si vous n'êtes pas sûr de la manière dont sont numérotés les identifiants de tuple ou de ressources, passez en premier votre fichier de configuration à Tablix et regardez le résultat (les fichiers result*.xml) . Tous les noeuds <resource> et <event> de ces fichiers ont des propriétés res-id et tupleid affectées, qui montrent comment Tablix alloue les identifiants d'évènements et de ressources.

Passer les identifiants de tuple et de ressources aux fonctions peut être utile si plus d'un tuple ou ressource sont vérifiés dans une boucle. Puisque nous vérifions seulement un seul évènement pour une seule ressource, nous pouvons rendre le code Scheme plus lisible en remplaçant les identifiants numériques par les noms des tuples et des ressources. Le code modifié ressemblera à :

 
<!-- BEGIN TTF BLOCK
(test-ttf
        (dummy-type "dummy-event" "30")
)
END TTF BLOCK -->