Closed mrektor closed 3 years ago
We need to compute the evolution objects within the VerificationTest
. The output from the failed tests is way too large and makes it very hard to understand what's going on.
I think that what's "failing" are the error messages checks (testUnevaluated)
I think that what's "failing" are the error messages checks (testUnevaluated)
I think it's because the WolframModel
has evaluated into WolframModelEvolutionObject
, and testUnevaluated
expects the input to remain completely unevaluated. A solution would be to generate the evolution object before the test or pass the property to WolframModel
directly.
That does not fix the tests, that skips them. You just evaluated the argument of testUnevaluated
before it even gets into the test, so of course the test passes because there is nothing left to evaluate.
It does, however, produce messages while pre-evaluating it which is why CI fails (it does not allow messages).
If:
testUnevaluated
in the .wlt
file is set to HoldAllComplete
Evaluate
is replaced with With
, then the tests pass: Attributes[Global`testUnevaluated] = Attributes[Global`testSymbolLeak] = {HoldAllComplete};
(* Error Messages check *)
With[{obj = evolutionObjects[[3]]}, {
testUnevaluated[obj["FeatureAssociation", 3], {WolframModelEvolutionObject::invalidFeatureSpec}],
testUnevaluated[obj["FeatureAssociation", "EasterEgg"], {WolframModelEvolutionObject::unknownFeatureGroup}]
}]
Changes
HypergraphToGraph
with"StructurePreserving"
method)Flatten @ Values @ #["FeatureAssociation"]
Comments
Examples
This change is