示例#1
0
 def test_extend_unique(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     beg = NodeList.from_list([a])
     end = NodeList.from_list([a, b,c])
     
     
     beg.extend(end, unique=True)
     self.assertEquals(beg[0], a)
     self.assertEquals(beg[1], b)
     self.assertEquals(beg[2], c)
示例#2
0
 def test_extend_unique(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     beg = NodeList.from_list([a])
     end = NodeList.from_list([a, b,c])
     
     
     beg.extend(end, unique=True)
     self.assertEquals(beg[0], a)
     self.assertEquals(beg[1], b)
     self.assertEquals(beg[2], c)
示例#3
0
 def test_print_nodes(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= NodeList.from_list([a, b, c])
     
     nlst.print_nodes(StdioFile.stdout())
示例#4
0
 def test_print_nodes(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= NodeList.from_list([a, b, c])
     
     nlst.print_nodes(StdioFile.stdout())
示例#5
0
 def test_count(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= NodeList.from_list([a, a, b])
     self.assertEqual(nlst.count(a), 2)
     self.assertEqual(nlst.count(b), 1)
     self.assertEqual(nlst.count(c), 0)
示例#6
0
 def test_count(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= NodeList.from_list([a, a, b])
     self.assertEqual(nlst.count(a), 2)
     self.assertEqual(nlst.count(b), 1)
     self.assertEqual(nlst.count(c), 0)
示例#7
0
 def test_length(self):
     nlst= NodeList.empty()
     self.assertEqual(0, len(nlst))
      
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= NodeList.from_list([a, b, c])
     self.assertEqual(3, len(nlst))
示例#8
0
 def test_length(self):
     nlst= NodeList.empty()
     self.assertEqual(0, len(nlst))
      
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= NodeList.from_list([a, b, c])
     self.assertEqual(3, len(nlst))
示例#9
0
 def test_delitem(self):
     a   = self.node_from_expr("a = 1")
     lst = NodeList.from_list([a])
     self.assertEqual(1, len(lst))
     self.assertTrue(a in lst)
       
     del lst[0]
     self.assertTrue(a not in lst)
     self.assertEqual(0, len(lst))
示例#10
0
 def test_reverse(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= NodeList.from_list([a, b, c])
     nlst.reverse()
     self.assertEqual(3, len(nlst))
     self.assertEqual(c, nlst[0])
     self.assertEqual(b, nlst[1])
     self.assertEqual(a, nlst[2])
示例#11
0
 def test_reverse(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= NodeList.from_list([a, b, c])
     nlst.reverse()
     self.assertEqual(3, len(nlst))
     self.assertEqual(c, nlst[0])
     self.assertEqual(b, nlst[1])
     self.assertEqual(a, nlst[2])
示例#12
0
 def test_delitem(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     lst = NodeList.from_list([a, b])
     self.assertEqual(2, len(lst))
     self.assertTrue(a in lst)
       
     del lst[1]
     self.assertTrue(b not in lst)
     self.assertEqual(1, len(lst))
示例#13
0
    def test_is_complete(self):
        with BmcSupport():
            sexp_fsm = master_bool_sexp_fsm()
            be_fsm = master_be_fsm()

            trace = Trace.create("Dummy example",
                                 TraceType.COUNTER_EXAMPLE,
                                 sexp_fsm.symbol_table,
                                 sexp_fsm.symbols_list,
                                 is_volatile=True)

            # vacuously true
            self.assertTrue(trace.is_complete(NodeList.from_list([])))

            v = be_fsm.encoding.by_name['v'].name
            self.assertFalse(trace.is_complete(NodeList.from_list([v])))

            step = trace.steps[1]
            yes = Node.from_ptr(parse_simple_expression("TRUE"))
            step += (v, yes)

            self.assertTrue(trace.is_complete(NodeList.from_list([v])))
示例#14
0
 def test_from_list(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     lst = [a, b, c]
     nlst= NodeList.from_list(lst)
     
     self.assertTrue(a in nlst)
     self.assertTrue(b in nlst)
     self.assertTrue(c in nlst)
     
     self.assertEqual(nlst[0], a)
     self.assertEqual(nlst[1], b)
     self.assertEqual(nlst[2], c)
示例#15
0
 def test_from_list(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     lst = [a, b, c]
     nlst= NodeList.from_list(lst)
     
     self.assertTrue(a in nlst)
     self.assertTrue(b in nlst)
     self.assertTrue(c in nlst)
     
     self.assertEqual(nlst[0], a)
     self.assertEqual(nlst[1], b)
     self.assertEqual(nlst[2], c)
示例#16
0
    def test_is_complete(self):
        with BmcSupport():
            sexp_fsm = master_bool_sexp_fsm()
            be_fsm = master_be_fsm()

            trace = Trace.create(
                "Dummy example",
                TraceType.COUNTER_EXAMPLE,
                sexp_fsm.symbol_table,
                sexp_fsm.symbols_list,
                is_volatile=True,
            )

            # vacuously true
            self.assertTrue(trace.is_complete(NodeList.from_list([])))

            v = be_fsm.encoding.by_name["v"].name
            self.assertFalse(trace.is_complete(NodeList.from_list([v])))

            step = trace.steps[1]
            yes = Node.from_ptr(parse_simple_expression("TRUE"))
            step += (v, yes)

            self.assertTrue(trace.is_complete(NodeList.from_list([v])))
示例#17
0
 def test_to_list(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= list(NodeList.from_list([a, b, c]))
     self.assertListEqual(nlst, [a, b, c])
示例#18
0
 def test_to_list(self):
     a   = self.node_from_expr("a = 1")
     b   = self.node_from_expr("b = 2")
     c   = self.node_from_expr("c = 3")
     nlst= list(NodeList.from_list([a, b, c]))
     self.assertListEqual(nlst, [a, b, c])