def main():
    logging.basicConfig(format = '%(levelname)s %(message)s')
    logger = logging.getLogger('redis')
    logger.parent.setLevel(logging.ERROR)

    #creating the graph object
    graph = Directed_graph(r_server, 'uniq', logger)

    RED = '\033[91m'
    ORANGE = '\033[93m'
    GREEN = '\033[92m'

    #adding some nodes
    node1 = convert('level_1_1☭')
    node2 = convert('level_1_2')
    node3 = convert('☭level_2_1')
    node4 = convert('level_2_2')
    node5 = convert('level_3_1')

    node1_predecessors = []
    node1_successors = [node3,node4]

    node2_predecessors = []
    node2_successors = [node3,node4]

    node3_predecessors = [node1,node2]
    node3_successors = [node5]

    node4_predecessors = [node1,node2]
    node4_successors = [node5]

    node5_predecessors = []
    node5_successors = []

    def clean():
        graph.remove_node(node1)
        graph.remove_node(node2)
        graph.remove_node(node3)
        graph.remove_node(node4)
        graph.remove_node(node5)
        graph.remove_node(graph.root)


    def clean1():
        graph.remove_node(node1)
        graph.remove_node(node2)
        graph.remove_node(node3)

    def clean2():
        graph.remove_node(node4)
        graph.remove_node(node5)

    def print_test(got,expected,node,nature):
        if got != expected:
            print(RED + "ERROR: "+ node + " " + nature +" is not as it should be")
            print(ORANGE +"GOT:")
            print(got )
            print("EXPECTED:")
            print(expected )
            clean()
            return 1
        else:
            print(GREEN + node + " " + nature +": Ok")


    attributes = {convert('☭jack'): set([convert('1'),convert('2')]), convert('spare☭'): convert('☭youpi')}
 #
    graph.write_on_node(node3, node3_successors, node3_predecessors, attributes)
    graph.write_on_node(node4, node4_successors, node4_predecessors, attributes)
    graph.write_on_node(node1, node1_successors, node1_predecessors, attributes)
    graph.write_on_node(node2, node2_successors, node2_predecessors, attributes)
    graph.write_on_node(node5, node5_successors, node5_predecessors, attributes)
 
    #printing some predecessors or successors
    name = graph.root
    got = graph.get_successors(name)
    expected = set([]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node1
    got = graph.get_successors(name)
    expected = set([node3, node4]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([])
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node2
    got = graph.get_successors(name)
    expected = set([node3, node4]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([])
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node3
    got = graph.get_successors(name)
    expected = set([node5]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([node2, node1]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1

 
    name = node4
    got = graph.get_successors(name)
    expected = set([node5]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([node2, node1])
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node5
    got = graph.get_successors(name)
    expected = set([])
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([node3, node4])
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
 
    clean1()
    print(GREEN + "printing attributs list after removing node[123]")

    #printing some predecessors or successors
    name = graph.root
    got = graph.get_successors(name)
    expected = set([]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node1
    got = graph.get_successors(name)
    expected = set([]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node2
    got = graph.get_successors(name)
    expected = set([]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node3
    got = graph.get_successors(name)
    expected = set([]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node4
    got = graph.get_successors(name)
    expected = set([node5]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node5
    got = graph.get_successors(name)
    expected = set([])
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([node4]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1

    clean2()

    name = node4
    got = graph.get_successors(name)
    expected = set([]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node5
    got = graph.get_successors(name)
    expected = set([])
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set([]) 
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 

    return 0
def main():
    logging.basicConfig(format = '%(levelname)s %(message)s')
    logger = logging.getLogger('redis')
    logger.parent.setLevel(logging.ERROR)

    #creating the graph object
    graph = Directed_graph(r_server, 'uniq', logger, has_root = False)

    RED = '\033[91m'
    ORANGE = '\033[93m'
    GREEN = '\033[92m'

    #adding some nodes
    node1 = 'level_1_1'
    node2 = 'level_1_2'
    node3 = 'level_2_1'
    node4 = 'level_2_2'
    node5 = 'level_3_1'

    node1_predecessors = []
    node1_successors = [node3,node4]

    node2_predecessors = []
    node2_successors = [node3,node4]

    node3_predecessors = [node1,node2]
    node3_successors = [node5]

    node4_predecessors = [node1,node2]
    node4_successors = [node5]

    node5_predecessors = []
    node5_successors = []

    def clean():
        graph.remove_node(node1)
        graph.remove_node(node2)
        graph.remove_node(node3)
        graph.remove_node(node4)
        graph.remove_node(node5)
        graph.remove_node(graph.root)

    def print_test(got,expected,node,nature):
        if got != expected:
            print(RED + "ERROR: "+ node + " " + nature +" is not as it should be")
            print(ORANGE +"GOT:")
            print(got )
            print("EXPECTED:")
            print(expected )
            clean()
            return 1
        else:
            print(GREEN + node + " " + nature +": Ok")


    attributes1 = {'☭jack': set(['1','2']), 'spare☭': '☭youpi'}
    attributes2 = {'jacko': set(['1','2','test']), 'spare☭': '☭youpi', 'bip' : 'bip', 'bip' : 'bop'}
    attributes3 = {'☭jack': set(['1','2']), 'spare☭': '☭youpi'}
    attributes4 = {'☭jack': set(['1','2']), 'spare☭': '☭youpi'}
    attributes5 = {'jacko': set(['1','2','test']), 'spare☭': '☭youpi', 'bip' : 'bip'}
 #
    graph.write_on_node(node3, node3_successors, node3_predecessors, attributes3)
    graph.write_on_node(node4, node4_successors, node4_predecessors, attributes4)
    graph.write_on_node(node1, node1_successors, node1_predecessors, attributes1)
    graph.write_on_node(node2, node2_successors, node2_predecessors, attributes2)
    graph.write_on_node(node5, node5_successors, node5_predecessors, attributes5)
 
    #printing some attributs list

    name = node5
    got = graph.get_attribut_len(name,'jacko')
    expected = 3 
    if print_test(got, expected, name, "attribut length") == 1:
        return 1
    
    name = node5
    got = graph.get_attribut_len(name, convert('spare☭'))
    expected =  1
    if print_test(got, expected, name, "attribut length") == 1:
        return 1

    name = node5
    got = graph.get_attribut_len(name, convert('spare☭_does_not_exists'))
    expected =  0
    if print_test(got, expected, name, "attribut length") == 1:
        return 1

    clean()

    return 0
Exemplo n.º 3
0

print(OKBLUE + "creating " + str(node_number) + " nodes")
#calling the generation function
generate_tree(node_number)

#creating the redis connexion
r_server = redis.Redis("localhost")

#creating a basic logger
logging.basicConfig(format='%(message)s')
logger = logging.getLogger('redis')
logger.parent.setLevel(logging.CRITICAL)

#creating the graph object
graph = Directed_graph(r_server, 'uniq', logger, has_root=True)


#we define two process to write the nodes
def process_one():
    for i in range(0, node_number, 2):
        graph.write_on_node(nodes[i], successors[i], predecessors[i],
                            fix_attributes)


def process_two():
    for i in range(1, node_number, 2):
        graph.write_on_node(nodes[i], successors[i], predecessors[i],
                            fix_attributes)

Exemplo n.º 4
0
#importing directed_graph
from pygraph_redis.directed_graph import Directed_graph
import redis

#creating the redis connexion
r_server = redis.Redis("localhost")

#creating a basic logger
import logging
logging.basicConfig(format='%(message)s')
logger = logging.getLogger('redis')
logger.parent.setLevel(logging.DEBUG)

#creating the graph object
graph = Directed_graph(r_server, 'uniq', logger)

#adding some nodes
graph.write_on_node('m1', ['c1', 'c2', 'c3', 'c4'], ['p1', 'p2', 'p3'], {
    'jack': set(['1', '2']),
    'spare': 'youpi'
})
graph.write_on_node("m2", ["c1", "c3", "c4"], ["p2", "p3"], {
    'sape': '4139',
    'guido': '4127'
})
graph.write_on_node("m3", ["c1", "c3", "c4"], ["p2", "p3"], {})
graph.write_on_node("P1", ["p2", "p3"], [], {})

#printing some predecessors or successors
print(graph.get_predecessors("m1"))