Esempio n. 1
0
    def test_predicate_neq(self):
        oper = PredicateOperation(StlComparisonOperator.NEQ)

        left = [[0, 1.3], [0.7, 3], [1.3, 0.1], [2.1, -2.2]]
        right = [[0, 2.5], [0.7, 4], [1.3, -1.2], [2.1, 1.7]]

        out = oper.update(left, right)

        expected = [[0, 2.5 - 1.3], [0.7, 4 - 3], [1.3, 0.1 + 1.2],
                    [2.1, 2.2 + 1.7]]

        self.assertListEqual(expected, out, "neq dense time offline 1")
Esempio n. 2
0
    def test_predicate_greater(self):
        oper = PredicateOperation(StlComparisonOperator.GREATER)

        left = [[0, 1.3], [0.7, 3], [1.3, 0.1], [2.1, -2.2]]
        right = [[0, 2.5], [0.7, 4], [1.3, -1.2], [2.1, 1.7]]

        out = oper.update(left, right)

        expected = [[0, 1.3 - 2.5], [0.7, 3 - 4], [1.3, 0.1 + 1.2],
                    [2.1, -2.2 - 1.7]]

        self.assertListEqual(expected, out, "greater dense time offline 1")
Esempio n. 3
0
    def test_predicate_leq(self):
        oper = PredicateOperation(StlComparisonOperator.LEQ)

        left = [[0, 1.3], [0.7, 3], [1.3, 0.1], [2.1, -2.2]]
        right = [[0, 2.5], [0.7, 4], [1.3, -1.2], [2.1, 1.7]]

        out = oper.update(left, right)

        expected = [[0, 2.5 - 1.3], [0.7, 4 - 3], [1.3, -1.2 - 0.1],
                    [2.1, 1.7 + 2.2]]

        self.assertListEqual(expected, out, "leq dense time offline 1")

        #################################################################################

        oper = PredicateOperation(StlComparisonOperator.LEQ)

        left = [[0, 1.3], [0.7, 3], [1.3, 4], [2.1, 3]]
        right = [[0, 2.5], [0.7, 4], [1.3, 5], [2.1, 4]]

        out = oper.update(left, right)

        expected = [[0, 2.5 - 1.3], [0.7, 4 - 3], [2.1, 4 - 3]]

        self.assertListEqual(expected, out, "leq dense time offline 2")

        #################################################################################

        oper = PredicateOperation(StlComparisonOperator.LEQ)

        left = [[1, 1], [3.5, 7], [4.7, 3], [5.3, 5], [6.2, 1]]
        right = [[0, 2], [7, 3]]

        out = oper.update(left, right)

        expected = [[1, 2 - 1], [3.5, 2 - 7], [4.7, 2 - 3], [5.3, 2 - 5],
                    [6.2, 2 - 1]]

        self.assertListEqual(expected, out, "leq dense time offline 3")

        #################################################################################

        oper = PredicateOperation(StlComparisonOperator.LEQ)

        left = [[1, 1], [3.5, 7], [4.7, 3], [5.3, 5], [6.2, 1]]
        right = [[4, 2], [6, 3]]

        out = oper.update(left, right)

        expected = [[4, 2 - 7], [4.7, 2 - 3], [5.3, 2 - 5], [6, 3 - 5]]

        self.assertListEqual(expected, out, "leq dense time offline 4")

        #################################################################################

        oper = PredicateOperation(StlComparisonOperator.LEQ)

        left = [[1, 1], [2, 8], [3, 4], [4.5, 7]]
        right = [[1.5, 1], [1.7, 2], [2.7, 3], [3, 5], [4, 1]]

        out = oper.update(left, right)

        expected = [[1.5, 1 - 1], [1.7, 2 - 1], [2, 2 - 8], [2.7, 3 - 8],
                    [3, 5 - 4], [4, 1 - 4]]

        self.assertListEqual(expected, out, "leq dense time offline 5")

        #################################################################################

        oper = PredicateOperation(StlComparisonOperator.LEQ)

        left = [[1, 1], [2, 8], [3, 4], [4.5, 7]]
        right = [[5, 1], [6, 2], [7, 3], [8, 5], [9, 1]]

        out = oper.update(left, right)

        expected = []

        self.assertListEqual(expected, out, "leq dense time offline 6")

        #################################################################################

        oper = PredicateOperation(StlComparisonOperator.LEQ)

        left = []
        right = [[5, 1], [6, 2], [7, 3], [8, 5], [9, 1]]

        out = oper.update(left, right)

        expected = []

        self.assertListEqual(expected, out, "leq dense time offline 7")

        #################################################################################

        oper = PredicateOperation(StlComparisonOperator.LEQ)

        left = [[1, 1], [2, 8], [3, 4], [4.5, 7]]
        right = []

        out = oper.update(left, right)

        expected = []

        self.assertListEqual(expected, out, "leq dense time offline 8")

        #################################################################################

        oper = PredicateOperation(StlComparisonOperator.LEQ)

        left = []
        right = []

        out = oper.update(left, right)

        expected = []

        self.assertListEqual(expected, out, "leq dense time offline 9")
    def visitPredicate(self, node, args):
        monitor = PredicateOperation(node.operator)
        self.node_monitor_dict[node.name] = monitor

        self.visit(node.children[0], args)
        self.visit(node.children[1], args)