Bon j'ai un put*** de problèmes et impossible de voir ou est le bug.

Grosso modo j'ai une classe entité qui des qu'un objet est instancié l'ajoute dans une liste static de ma classe.
J'ai une classe donnée qui a une méthode statique qui instancie un nouvelle entité.
Enfin j'ai une classe testDonnee qui appel la méthode statique de la classe Donnee.

Le problème est que: quand la méthode de ma classe donnée, appelée par ma classe testDonnee, crée un objet entité bah il est ajouté dans la liste de la classe entite sauf que quand je retourne dans ma classe testDonnée il n'y ait plus.

voila le code je l'ai raccourcis au maximum:

Ma classe donnée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
# -*- coding: utf-8 -*-
 
from noyau.Entites import *
 
class Donnee(object):
 
	def __init__(self, nom):
		pass
 
	##Parcours le tableau statique et par conséquence toutes les Donnee pour créer les entités.
        @staticmethod
	def creerEntites():
		Entite("test");
		print("longueur avant %i"%len(Entite.getListeEntites()))
Ma classe entité

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
 
# -*- coding: utf-8 -*-
 
class Entite(object):
 
	#variable statique contenant les references des entités créées
	_listeEntitees=[]
 
	def __init__(self, identifiant):
		self._identifiant=identifiant
		self.__class__._listeEntitees.append(self)	#ajout de l'instance entités au tableau statique de liste d'entitées 
 
        @staticmethod
	def getListeEntites():
		return Entite._listeEntitees
Ma classe testDonnee

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
# -*- coding: utf-8 -*-
 
import unittest
from noyau.Donnee import *
from noyau.Entite import *
 
class TestDonnee(unittest.TestCase):
 
	##Tests de la validité de la méthode creerEntites de la classe Donnee.
	#@param self	<b>TestDonnee:</b>	Une référence sur l'objet TestDonnee créé.
	def testDonneeCreationEntites(self):
 
		#mise a zéros de la liste statique de données
 
		Donnee.creerEntites()
		print("longueur apres %i"%len(Entite.getListeEntites()))
Et voila le résultat de ma console:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Finding files... ['/home/marcel/workspace/AASI/testNoyau/TestDonnee.py'] ... done
Importing test modules ... done.

testDonneeCreationEntites (TestDonnee.TestDonnee) ... longueur avant 1
longueur apres 0
ok

----------------------------------------------------------------------
Ran 1 test in 0.000s

OK
Merci d'avance de votre aide