tub_or_cancer.distribution[{'Tuberculosis':0, 'Cancer':1}] = [1, 0]
tub_or_cancer.distribution[{'Tuberculosis':1, 'Cancer':0}] = [1, 0]
tub_or_cancer.distribution[{'Tuberculosis':1, 'Cancer':1}] = [1, 0]

# X-Ray Result
xray_result.distribution[{'Tuberculosis or Cancer':0}] = [0.1, 0.9]
xray_result.distribution[{'Tuberculosis or Cancer':1}] = [0.5, 0.5]

# Dyspnea
dyspnea.distribution[{'Tuberculosis or Cancer':0, 'Bronchitis':0}] = [0, 1]
dyspnea.distribution[{'Tuberculosis or Cancer':0, 'Bronchitis':1}] = [0.4, 0.6]
dyspnea.distribution[{'Tuberculosis or Cancer':1, 'Bronchitis':0}] = [0.6, 0.4]
dyspnea.distribution[{'Tuberculosis or Cancer':1, 'Bronchitis':1}] = [0.8, 0.2]


for vert in network.topological_sort():
    print '---------------------'
    print vert.name
    print vert.distribution.cpt
    if len(vert.distribution.parents) > 0:
        names = []
        for vert in vert.distribution.parents:
            names.append(vert.name)
        print 'Edges:', ','.join(names)
    else:
        print 'Edges: None'


sys.exit()

# Build a JoinTree
muleDeerHazardRating.distribution[{'Habitat Hazard Rating':3, 'Population Hazard':4}] = [0,0,0,0,1]

muleDeerHazardRating.distribution[{'Habitat Hazard Rating':4, 'Population Hazard':0}] = [0,0,0,0,1]
muleDeerHazardRating.distribution[{'Habitat Hazard Rating':4, 'Population Hazard':1}] = [0,0,0,0,1]
muleDeerHazardRating.distribution[{'Habitat Hazard Rating':4, 'Population Hazard':2}] = [0,0,0,0,1]
muleDeerHazardRating.distribution[{'Habitat Hazard Rating':4, 'Population Hazard':3}] = [0,0,0,0,1]
muleDeerHazardRating.distribution[{'Habitat Hazard Rating':4, 'Population Hazard':4}] = [0,0,0,0,1]


# when reading in models, if CHANCE = DETERMIN for a 
# deterministic node, it basically indicates we are now
# dealing with a decision network node.
# we will need to implement the logic associated with the last decision node.
#muleDeerHazardRating.distribution[{'Habitat Hazard Rating':, 'Population Hazard':,}] = []

print network.topological_sort()
print network.src_v
# for vert in network.src_v:
for vert in network.topological_sort():
    print '---------------------'
    print vert.name
    print vert.distribution.cpt
    if len(vert.distribution.parents) > 0:
        names = []
        for vert in vert.distribution.parents:
            names.append(vert.name)
        print 'Edges:', ','.join(names)
    else:
        print 'Edges: None'

print network