"""
**************
Markov Blanket
Unit Test
**************
"""

__author__ = """Nicholas Cullen <ncullen.th@dartmouth.edu>"""

import unittest
import os
from os.path import dirname
import numpy as np
import pandas as pd

from external.pyBN.readwrite.read import read_bn
from external.pyBN.independence.markov_blanket import markov_blanket

class ConstraintTestsTestCase(unittest.TestCase):

	def setUp(self):
		self.dpath = os.path.join(dirname(dirname(dirname(dirname(__file__)))),'data')	
		self.bn = read_bn(os.path.join(self.dpath,'cmu.bn'))

	def tearDown(self):
		pass

	def test_markov_blanket(self):
		self.assertDictEqual(markov_blanket(self.bn),
			{'Alarm': ['Earthquake', 'Burglary', 'JohnCalls', 'MaryCalls'],
			 'Burglary': ['Alarm', 'Earthquake'],
			 'Earthquake': ['Alarm', 'Burglary'],
			 'JohnCalls': ['Alarm'],
			 'MaryCalls': ['Alarm']})