for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
import json
from pathlib import Path
from oval_graph.oval_tree.oval_node import OvalNode
class GetTree():
@staticmethod
def simple_tree():
return OvalNode(
node_id=1,
node_type='operator',
value='and',
children=[
OvalNode(
node_id=2,
node_type='value',
value='true',
),
node_id=3,
value='false',
node_id=4,
value='or',
node_id=5,
node_id=6,
value="true",
]
)
def tree_true():
def tree_false():
value="false",
def tree_noteval():
value='noteval',
def tree_false_one_node():
def tree_true_one_node():
def tree_error_one_node():
value='error',
def negated_operator_node_false():
negation=True,
def negated_operator_node_true():
def negate_value_node_false():
def negate_value_node_true():
def negated_value_node_true():
def negated_value_node_false():
def uppercase_tree():
node_type="OPERATOR",
value="AND",
node_type="VALUE",
value="TRUE",
value="NOTAPPL",
def big_oval_tree():
value="xor",
value='one',
node_id=7,
node_id=8,
value='notappl',
node_id=9,
node_id=10,
node_id=11,
value="unknown",
node_id=12,
# Degenered trees
def bad_tree():
"""
t
|
and
node_type="value",
node_type="operator",
value="and",
def tree_only_or():
or
def tree_only_and():
def tree_with_bad_value_of_operator():
value='nad',
def tree_with_bad_value_of_value():
def tree_with_bad_type():
node_type="car",
def tree_with_bad_value_of_negation():
negation="random_string",
def json_of_tree(src):
path = Path(__file__).parent / src
with open(path, 'r') as file_:
return json.load(file_)