def test_checkFlagEncoder(self, ):
     self.assertEqual(0x80, DecisionMatrixRow.makeFlagsByte(True, False, False, False, False, 0, 0))
     self.assertEqual(0x40, DecisionMatrixRow.makeFlagsByte(False, True, False, False, False, 0, 0))
     self.assertEqual(0x20, DecisionMatrixRow.makeFlagsByte(False, False, True, False, False, 0, 0))
     self.assertEqual(0x10, DecisionMatrixRow.makeFlagsByte(False, False, False, True, False, 0, 0))
     self.assertEqual(0x08, DecisionMatrixRow.makeFlagsByte(False, False, False, False, True, 0, 0))
     self.assertEqual(0x02, DecisionMatrixRow.makeFlagsByte(False, False, False, False, False, 256, 0))
     self.assertEqual(0x01, DecisionMatrixRow.makeFlagsByte(False, False, False, False, False, 0, 256))
     self.assertEqual(0x00, DecisionMatrixRow.makeFlagsByte(False, False, False, False, False, 255, 255))
class decisionMatrixRowFlagTests(unittest.TestCase):        
    def setUp(self, ):
        self.DMRow = DecisionMatrixRow(0,3,10,15,0,0,0,0)
    
    def test_isEnabled(self, ):
        self.assertFalse(self.DMRow.isEnabled())
        self.DMRow.flags = 0x80
        self.assertTrue(self.DMRow.isEnabled())        
    def test_isAddressMatchRequired(self, ):
        self.assertFalse(self.DMRow.isAddressMatchRequired())
        self.DMRow.flags = 0x40
        self.assertTrue(self.DMRow.isAddressMatchRequired())    
    def test_isAddressHardCoded(self, ):
        self.assertFalse(self.DMRow.isAddressHardCoded())
        self.DMRow.flags = 0x20
        self.assertTrue(self.DMRow.isAddressHardCoded())
    def test_matchZoneRequired(self, ):
        self.assertFalse(self.DMRow.matchZoneRequired())
        self.DMRow.flags = 0x10
        self.assertTrue(self.DMRow.matchZoneRequired()) 
    def test_matchSubzoneRequired(self, ):
        self.assertFalse(self.DMRow.matchSubzoneRequired())
        self.DMRow.flags = 0x08
        self.assertTrue(self.DMRow.matchSubzoneRequired())
    def test_checkClassValue(self, ):
        self.assertEqual(self.DMRow.class_mask,266)
        self.assertEqual(self.DMRow.class_filter, 271)
    def test_checkFlagEncoder(self, ):
        self.assertEqual(0x80, DecisionMatrixRow.makeFlagsByte(True, False, False, False, False, 0, 0))
        self.assertEqual(0x40, DecisionMatrixRow.makeFlagsByte(False, True, False, False, False, 0, 0))
        self.assertEqual(0x20, DecisionMatrixRow.makeFlagsByte(False, False, True, False, False, 0, 0))
        self.assertEqual(0x10, DecisionMatrixRow.makeFlagsByte(False, False, False, True, False, 0, 0))
        self.assertEqual(0x08, DecisionMatrixRow.makeFlagsByte(False, False, False, False, True, 0, 0))
        self.assertEqual(0x02, DecisionMatrixRow.makeFlagsByte(False, False, False, False, False, 256, 0))
        self.assertEqual(0x01, DecisionMatrixRow.makeFlagsByte(False, False, False, False, False, 0, 256))
        self.assertEqual(0x00, DecisionMatrixRow.makeFlagsByte(False, False, False, False, False, 255, 255))
 def setUp(self, ):
     self.DMRow = DecisionMatrixRow(0,3,10,15,0,0,0,0)