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 = True)

    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 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([node1, node2]) 
    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(['RO_@@@_OT'])
    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(['RO_@@@_OT'])
    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
 
    name = node1
    got = graph.get_attributs_list(name)
    expected = {convert('☭jack'), convert('spare☭')} 
    if print_test(got, expected, name, "attributs_list") == 1:
        return 1
 

    print(GREEN + "printing attributs list after removing node[123]")

    graph.write_off_node(node1, [node3], [],[convert('☭jack')])

    #printing some predecessors or successors
    name = graph.root
    got = graph.get_successors(name)
    expected = set([node1, node2]) 
    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([node4]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set(['RO_@@@_OT'])
    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(['RO_@@@_OT'])
    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]) 
    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
 
    name = node1
    got = graph.get_attributs_list(name)
    expected = {convert('spare☭')} 
    if print_test(got, expected, name, "attributs_list") == 1:
        return 1
 
    graph.write_off_node(node2, [node3], [],[convert('☭jack')])

    #printing some predecessors or successors
    name = graph.root
    got = graph.get_successors(name)
    expected = set([node1, node2, node3]) 
    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([node4]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set(['RO_@@@_OT'])
    if print_test(got, expected, name, "predecessors") == 1:
        return 1
 
    name = node2
    got = graph.get_successors(name)
    expected = set([node4]) 
    if print_test(got, expected, name, "successors") == 1:
        return 1
 
    got = graph.get_predecessors(name)
    expected = set(['RO_@@@_OT'])
    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(['RO_@@@_OT']) 
    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
 
    name = node1
    got = graph.get_attributs_list(name)
    expected = {convert('spare☭')} 
    if print_test(got, expected, name, "attributs_list") == 1:
        return 1
 
    return 0
Exemplo n.º 2
0
print graph.get_successors(u"p2")
print graph.get_successors(u"c3")
print graph.get_successors(graph.root)
print graph.get_predecessors(u"c3")

#getting an attributs list
print graph.get_attributs_list(u'm2')
#getting some attribut
print graph.get_attribut(u'm2', u'guido')
print graph.get_attribut(u'm1', u'jack')

#example of write off (suppression of some elements of a node, like predecessors, successors or attributs)
#getting the elements before
print graph.get_attributs_list(u'm2')
print graph.get_predecessors(u"m2")
print graph.get_successors("m2")

#removing the elements
graph.write_off_node(u"m2", [u"c1"], [u"p2", u"p3"],[u'sape'])

#getting the elements after
print graph.get_attributs_list(u'm2')
print graph.get_predecessors(u"m2")
print graph.get_successors(u"m2")

#removing a node
graph.remove_node(u'm2')
print graph.get_predecessors(u"m2")
print graph.get_successors(u"m2")
print graph.get_successors(graph.root)
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=True)

    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 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([node1, node2])
    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(['RO_@@@_OT'])
    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(['RO_@@@_OT'])
    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

    name = node1
    got = graph.get_attributs_list(name)
    expected = {convert('☭jack'), convert('spare☭')}
    if print_test(got, expected, name, "attributs_list") == 1:
        return 1

    print(GREEN + "printing attributs list after removing node[123]")

    graph.write_off_node(node1, [node3], [], [convert('☭jack')])

    #printing some predecessors or successors
    name = graph.root
    got = graph.get_successors(name)
    expected = set([node1, node2])
    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([node4])
    if print_test(got, expected, name, "successors") == 1:
        return 1

    got = graph.get_predecessors(name)
    expected = set(['RO_@@@_OT'])
    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(['RO_@@@_OT'])
    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])
    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

    name = node1
    got = graph.get_attributs_list(name)
    expected = {convert('spare☭')}
    if print_test(got, expected, name, "attributs_list") == 1:
        return 1

    graph.write_off_node(node2, [node3], [], [convert('☭jack')])

    #printing some predecessors or successors
    name = graph.root
    got = graph.get_successors(name)
    expected = set([node1, node2, node3])
    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([node4])
    if print_test(got, expected, name, "successors") == 1:
        return 1

    got = graph.get_predecessors(name)
    expected = set(['RO_@@@_OT'])
    if print_test(got, expected, name, "predecessors") == 1:
        return 1

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

    got = graph.get_predecessors(name)
    expected = set(['RO_@@@_OT'])
    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(['RO_@@@_OT'])
    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

    name = node1
    got = graph.get_attributs_list(name)
    expected = {convert('spare☭')}
    if print_test(got, expected, name, "attributs_list") == 1:
        return 1

    return 0
Exemplo n.º 4
0
print(graph.get_successors("p2"))
print(graph.get_successors("c3"))
print(graph.get_successors(graph.root))
print(graph.get_predecessors("c3"))

#getting an attributs list
print(graph.get_attributs_list('m2'))
#getting some attribut
print(graph.get_attribut('m2', 'guido'))
print(graph.get_attribut('m1', 'jack'))

#example of write off (suppression of some elements of a node, like predecessors, successors or attributs)
#getting the elements before
print(graph.get_attributs_list('m2'))
print(graph.get_predecessors("m2"))
print(graph.get_successors("m2"))

#removing the elements
graph.write_off_node("m2", ["c1"], ["p2", "p3"], ['sape'])

#getting the elements after
print(graph.get_attributs_list('m2'))
print(graph.get_predecessors("m2"))
print(graph.get_successors("m2"))

#removing a node
graph.remove_node('m2')
print(graph.get_predecessors("m2"))
print(graph.get_successors("m2"))
print(graph.get_successors(graph.root))
Exemplo n.º 5
0
print(graph.get_successors("p2"))
print(graph.get_successors("c3"))
print(graph.get_successors(graph.root))
print(graph.get_predecessors("c3"))

#getting an attributs list
print(graph.get_attributs_list('m2'))
#getting some attribut
print(graph.get_attribut('m2', 'guido'))
print(graph.get_attribut('m1', 'jack'))

#example of write off (suppression of some elements of a node, like predecessors, successors or attributs)
#getting the elements before
print(graph.get_attributs_list('m2'))
print(graph.get_predecessors("m2"))
print(graph.get_successors("m2"))

#removing the elements
graph.write_off_node("m2", ["c1"], ["p2", "p3"],['sape'])

#getting the elements after
print(graph.get_attributs_list('m2'))
print(graph.get_predecessors("m2"))
print(graph.get_successors("m2"))

#removing a node
graph.remove_node('m2')
print(graph.get_predecessors("m2"))
print(graph.get_successors("m2"))
print(graph.get_successors(graph.root))