Bonjour à tous,
J'ai eu un problème avec la méthode None, c'est à dire il ne passait pas le test. Au fait, je n'ai pas bien compris la logique, comme Monsieur Douin m'as expliqué. Au fait s'il y a plusieurs None, il faut évaluer en profondeur, c'est à dire qu'il faut qu'il n'y ait aucun TRUE la-dedans. Par exemple None(None(TRUE, FALSE, FALSE), None(FALSE, FALSE, TRUE)) doit donner FALSE et pas TRUE.
Voila, peut être cela aidera à qqn qui aura le même problème de compréhension :)
Maria
Question 1 de tp_rules (None)
Modérateur : douinj
Re: Question 1 de tp_rules (None)
Bonjour, merci d'être en éclaireuse sur ce nouveau TP, il doit être affiné
NONE est Vrai lorsque aucune feuille est TRUE, en profondeur dans l'arbre
NONE(FALSE,FALSE) == TRUE
CompositeSpecification<Object> none1 = new None<>().add(new FALSE()).add(new FALSE()).add(new TRUE());
CompositeSpecification<Object> none2 = new None<>().add(new TRUE()).add(new FALSE()).add(new FALSE());
assertFalse(none1.toString()+"!= false ???",none1.isSatisfiedBy(null));
assertFalse(none2.toString()+"!= false ???",none2.isSatisfiedBy(null));
CompositeSpecification<Object> none = new None<>().add(none1).add(none2);
assertFalse(none.toString()+"!= false ???",none.isSatisfiedBy(null));
à suivre de près… je regarde de plus près
NONE est Vrai lorsque aucune feuille est TRUE, en profondeur dans l'arbre
NONE(FALSE,FALSE) == TRUE
CompositeSpecification<Object> none1 = new None<>().add(new FALSE()).add(new FALSE()).add(new TRUE());
CompositeSpecification<Object> none2 = new None<>().add(new TRUE()).add(new FALSE()).add(new FALSE());
assertFalse(none1.toString()+"!= false ???",none1.isSatisfiedBy(null));
assertFalse(none2.toString()+"!= false ???",none2.isSatisfiedBy(null));
CompositeSpecification<Object> none = new None<>().add(none1).add(none2);
assertFalse(none.toString()+"!= false ???",none.isSatisfiedBy(null));
à suivre de près… je regarde de plus près
Re: Question 1 de tp_rules (None)
Bonjour,
Je ne comprend pas trop non plus le assertFalse appliqué au test proposé dans le TP ligne 135n méthode testTableDeVeriteNoneNone :
none(none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE)),none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE)))
En effet si je decompose :
none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE)) =. none(TRUE,TRUE,TRUE). =. FALSE
donc normalement
none(none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE)),none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE))) = none(false, false) = true
Merci de vos éclaircissements
Je ne comprend pas trop non plus le assertFalse appliqué au test proposé dans le TP ligne 135n méthode testTableDeVeriteNoneNone :
none(none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE)),none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE)))
En effet si je decompose :
none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE)) =. none(TRUE,TRUE,TRUE). =. FALSE
donc normalement
none(none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE)),none(TRUE,none(FALSE,FALSE,FALSE),none(FALSE,FALSE,FALSE))) = none(false, false) = true
Merci de vos éclaircissements
Re: Question 1 de tp_rules (None)
Bonjour restez sur cette définition
NONE est Vrai lorsque aucune feuille est TRUE, en profondeur dans l'arbre
bonne fin de tp_rules
NONE est Vrai lorsque aucune feuille est TRUE, en profondeur dans l'arbre
bonne fin de tp_rules
Re: Question 1 de tp_rules (None)
Bonjour,
J'ai un petit soucis lié à de la cohérence mais je ne sais pas si ça vient de moi :
Dans votre test "testTableDeVeriteNoneNone" de "testSpecification" vous spécifier ceci
or dans "testOneOf" vous spécifier :
Du coup je ne sais pas lequel est le bon ? Si je vérifier qu'on est strictement supérieur à 1 j'ai bon à "testTableDeVeriteNoneNone" mais j'ai faux à "testOneOf" : quelle est le bon cas ?
La question que je me pose est : doit on traiter ce qui n'est pas "None" comme des feuilles ?
J'ai un petit soucis lié à de la cohérence mais je ne sais pas si ça vient de moi :
Dans votre test "testTableDeVeriteNoneNone" de "testSpecification" vous spécifier ceci
Code : Tout sélectionner
CompositeSpecification<Object> oneOf = new OneOf<>().add(new FALSE()).add(new TRUE()).add(new FALSE());
nonne = new None<>().add(none).add(oneOf).add(none);
//System.out.println("\tnonne : " + nonne);
assertFalse(nonne.toString() +"!=false ???", nonne.isSatisfiedBy(null));
Code : Tout sélectionner
public void testOneOf(){
assertFalse(new OneOf<>().add(new FALSE()).add(new FALSE()).add(new FALSE()).isSatisfiedBy(null));
assertTrue(new OneOf<>().add(new FALSE()).add(new TRUE()).add(new FALSE()).isSatisfiedBy(null));
assertTrue(new OneOf<>().add(new TRUE()).add(new FALSE()).add(new FALSE()).isSatisfiedBy(null));
assertTrue(new OneOf<>().add(new TRUE()).add(new TRUE()).add(new TRUE()).isSatisfiedBy(null));
}
La question que je me pose est : doit on traiter ce qui n'est pas "None" comme des feuilles ?