Join features#
- class sage.features.join_feature.JoinFeature(name, features, spkg=None, url=None, description=None)#
Bases:
sage.features.Feature
Join of several
Feature
instances.This creates a new feature as the union of the given features. Typically these are executables of an SPKG. For an example, see
Rubiks
.Furthermore, this can be the union of a single feature. This is used to map the given feature to a more convenient name to be used in
optional
tags of doctests. Thus you can equip a feature such as aPythonModule
with a tag name that differs from the systematic tag name. As an example for this use case, seeMeataxe
.EXAMPLES:
sage: from sage.features import Executable sage: from sage.features.join_feature import JoinFeature sage: F = JoinFeature("shell-boolean", ....: (Executable('shell-true', 'true'), ....: Executable('shell-false', 'false'))) sage: F.is_present() FeatureTestResult('shell-boolean', True) sage: F = JoinFeature("asdfghjkl", ....: (Executable('shell-true', 'true'), ....: Executable('xxyyyy', 'xxyyyy-does-not-exist'))) sage: F.is_present() FeatureTestResult('xxyyyy', False)
- is_functional()#
Test whether the join feature is functional.
This method is deprecated. Use
Feature.is_present()
instead.EXAMPLES:
sage: from sage.features.latte import Latte sage: Latte().is_functional() # optional - latte_int doctest:warning... DeprecationWarning: method JoinFeature.is_functional; use is_present instead See https://trac.sagemath.org/33114 for details. FeatureTestResult('latte_int', True)