Ejemplo n.º 1
0
    def test_dict(self):
        fun = sys._getframe().f_code.co_name
        print("Run: %s.%s() " % (self.__class__.__name__, fun))

        el = NTP()
        self.assertTrue(isinstance(el, object))

        for it in self._pTt:
            self.assertEqual(el.pTt[it], self._pTt[it])
            self.assertEqual(NTP.pTt[it], self._pTt[it])

        for it in self._npTt:
            self.assertEqual(el.pTt[it], self._npTt[it])
            self.assertEqual(NTP.pTt[it], self._npTt[it])

        for it in self._nTnp:
            self.assertEqual(el.nTnp[it], self._nTnp[it])
            self.assertEqual(NTP.nTnp[it], self._nTnp[it])

        for it in self._convert:
            self.assertEqual(el.convert[it], self._convert[it])
            self.assertEqual(NTP.convert[it], self._convert[it])

        for it in self._aTn:
            self.assertEqual(el.aTn[it], self._aTn[it])
            self.assertEqual(NTP.aTn[it], self._aTn[it])

        for it in self._aTnv:
            self.assertEqual(el.aTnv[it], self._aTnv[it])
            self.assertEqual(NTP.aTnv[it], self._aTnv[it])

        for it in self._rTf:
            self.assertEqual(el.rTf[it], self._rTf[it])
            self.assertEqual(NTP.rTf[it], self._rTf[it])
Ejemplo n.º 2
0
    def test_createArray_spectrum(self):
        fun = sys._getframe().f_code.co_name
        print("Run: %s.%s() " % (self.__class__.__name__, fun))

        arrs = {}

        arrs["b"] = {
            "SpectrumBoolean": ["bool", "DevBoolean", True, [1, 0]],
        }

        arrs["i"] = {
            "SpectrumShort": ["int16", "DevShort", -13, [1, 0]],
            "SpectrumLong": ["int64", "DevLong", -14, [1, 0]],
            "SpectrumLong64": ["int64", "DevLong64", -24, [1, 0]],
        }

        arrs["u"] = {
            "SpectrumUChar": ["uint8", "DevUChar", 23, [1, 0]],
            "SpectrumULong": ["uint64", "DevULong", 2, [1, 0]],
            "SpectrumUShort": ["uint16", "DevUShort", 1, [1, 0]],
            "SpectrumULong64": ["uint64", "DevULong64", 3, [1, 0]],
        }

        arrs["f"] = {
            "SpectrumFloat": ["float32", "DevFloat", 12.234, [1, 0], 1e-5],
            "SpectrumDouble":
            ["float64", "DevDouble", -2.456673e+02, [1, 0], 1e-14],
        }

        arrs["s"] = {
            "SpectrumString": ["string", "DevString", "MyTrue", [1, 0]],
            # "State":[ "string", "DevState", PyTango._PyTango.DevState.ON],
        }

        types = {}

        types["i"] = {"int": 0, "int8": 0, "int16": 0, "int32": 0, "int64": 0}
        types["u"] = {
            "uint": 0,
            "uint8": 0,
            "uint16": 0,
            "uint32": 0,
            "uint64": 0
        }
        types["f"] = {
            "float": 1e-5,
            "float16": 1e-01,
            "float32": 1e-5,
            "float64": 1e-14
        }
        types["s"] = {"string": 0}
        types["b"] = {"bool": 0}

        ca = {
            "i": {
                "i": True,
                "u": True,
                "f": True,
                "s": False,
                "b": True
            },
            "u": {
                "i": True,
                "u": True,
                "f": True,
                "s": False,
                "b": True
            },
            "f": {
                "i": True,
                "u": True,
                "f": True,
                "s": False,
                "b": True
            },
            "s": {
                "i": True,
                "u": True,
                "f": True,
                "s": True,
                "b": True
            },
            "b": {
                "i": True,
                "u": True,
                "f": True,
                "s": True,
                "b": True
            }
        }

        for s in arrs:
            arr = arrs[s]
            for k in arr:

                if arr[k][1] != "DevBoolean":
                    mlen = [
                        self.__rnd.randint(1, 10),
                        self.__rnd.randint(0, 3)
                    ]
                    arr[k][2] = [
                        arr[k][2] * self.__rnd.randint(1, 3)
                        for c in range(mlen[0])
                    ]
                else:
                    mlen = [self.__rnd.randint(1, 10)]
                    arr[k][2] = [(True if self.__rnd.randint(0, 1) else False)
                                 for c in range(mlen[0])]

                arr[k][3] = [mlen[0], 0]

        for k in arrs:
            arr = arrs[k]
            for a in arr:

                value = arr[a][2]

                for c in ca:
                    for it in types[c]:
                        if ca[c][k] is True:
                            evalue = [NTP.convert[it](e) for e in value]
                            elc = NTP().createArray(value, NTP.convert[it])
                            self.assertEqual(len(evalue), len(elc))
                            for i in range(len(evalue)):
                                if types[c][it]:
                                    self.assertTrue(
                                        abs(evalue[i] -
                                            elc[i]) <= types[c][it])
                                else:
                                    self.assertEqual(evalue[i], elc[i])
                evalue = [e for e in value]
                elc = NTP().createArray(value)
                self.assertEqual(len(evalue), len(elc))
                for i in range(len(evalue)):
                    if k != "s":
                        self.assertTrue(
                            abs(evalue[i] - elc[i]) <= types[c][it])
                    else:
                        self.assertEqual(evalue[i], elc[i])
Ejemplo n.º 3
0
    def test_createArray_scalar_from_string(self):
        fun = sys._getframe().f_code.co_name
        print("Run: %s.%s() " % (self.__class__.__name__, fun))

        arrs = {}

        arrs["f"] = {
            "ScalarString1": ["string", "DevString", "12.3243"],
            "ScalarString2": ["string", "DevString", "-12.3243"],
            "ScalarString3": ["string", "DevString", "12.3243"],
        }

        arrs["i"] = {
            "ScalarString1": ["string", "DevString", "-1"],
            "ScalarString2": ["string", "DevString", "-125"],
            "ScalarString3": ["string", "DevString", "-124"],
        }

        arrs["u"] = {
            "ScalarString1": ["string", "DevString", "-1"],
            "ScalarString2": ["string", "DevString", "-125"],
            "ScalarString3": ["string", "DevString", "-124"],
        }

        arrs["s"] = {
            "ScalarString1": ["string", "DevString", "bnle"],
            "ScalarString2": ["string", "DevString", "What"],
            "ScalarString3": ["string", "DevString", "Cos"],
        }

        arrs["b"] = {
            "ScalarString1": ["string", "DevString", "True"],
            "ScalarString2": ["string", "DevString", "False"],
            "ScalarString3": ["string", "DevString", "true"],
        }

        types = {}

        types["i"] = ["int", "int8", "int16", "int32", "int64"]
        types["u"] = ["uint", "uint8", "uint16", "uint32", "uint64"]
        types["f"] = ["float", "float16", "float32", "float64"]
        types["s"] = ["string"]
        types["b"] = ["bool"]

        ca = {
            "i": {
                "i": True,
                "u": True,
                "f": False,
                "s": False,
                "b": False
            },
            "u": {
                "i": True,
                "u": True,
                "f": False,
                "s": False,
                "b": False
            },
            "f": {
                "i": True,
                "u": True,
                "f": True,
                "s": False,
                "b": False
            },
            "s": {
                "i": True,
                "u": True,
                "f": True,
                "s": True,
                "b": True
            },
            "b": {
                "i": True,
                "u": True,
                "f": True,
                "s": True,
                "b": True
            }
        }

        for k in arrs:
            arr = arrs[k]
            for a in arr:
                value = arr[a][2]
                for c in ca:
                    for it in types[c]:
                        if ca[c][k] is True:
                            res = NTP().createArray(value, NTP.convert[it])
                            self.assertEqual(NTP.convert[it](value), res)
                    res = NTP().createArray(value)
                    self.assertEqual(value, res)
Ejemplo n.º 4
0
    def test_createArray_scalar(self):
        fun = sys._getframe().f_code.co_name
        print("Run: %s.%s() " % (self.__class__.__name__, fun))

        arrs = {}

        arrs["b"] = {
            "ScalarBoolean": ["bool", "DevBoolean", True],
        }

        arrs["i"] = {
            "ScalarShort": ["int16", "DevShort", -123],
            "ScalarLong": ["int64", "DevLong", -124],
            "ScalarLong64": ["int64", "DevLong64", 234],
        }

        arrs["u"] = {
            "ScalarUChar": ["uint8", "DevUChar", 23],
            "ScalarUShort": ["uint16", "DevUShort", 1234],
            "ScalarULong": ["uint64", "DevULong", 234],
            "ScalarULong64": ["uint64", "DevULong64", 23],
        }

        arrs["f"] = {
            "ScalarFloat": ["float32", "DevFloat", 12.234, 1e-5],
            "ScalarDouble": ["float64", "DevDouble", -2.456673e+02, 1e-14],
        }

        arrs["s"] = {
            "ScalarString": ["string", "DevString", "MyTrue"],
            # "State":[ "string", "DevState", PyTango._PyTango.DevState.ON],
        }

        types = {}

        types["i"] = ["int", "int8", "int16", "int32", "int64"]
        types["u"] = ["uint", "uint8", "uint16", "uint32", "uint64"]
        types["f"] = ["float", "float16", "float32", "float64"]
        types["s"] = ["string"]
        types["b"] = ["bool"]

        ca = {
            "i": {
                "i": True,
                "u": True,
                "f": True,
                "s": False,
                "b": True
            },
            "u": {
                "i": True,
                "u": True,
                "f": True,
                "s": False,
                "b": True
            },
            "f": {
                "i": True,
                "u": True,
                "f": True,
                "s": False,
                "b": True
            },
            "s": {
                "i": True,
                "u": True,
                "f": True,
                "s": True,
                "b": True
            },
            "b": {
                "i": True,
                "u": True,
                "f": True,
                "s": True,
                "b": True
            }
        }

        for k in arrs:
            arr = arrs[k]
            for a in arr:
                value = arr[a][2]
                for c in ca:
                    if ca[c][k] is True:
                        for it in types[c]:
                            res = NTP().createArray(value, NTP.convert[it])
                            self.assertEqual(NTP.convert[it](value), res)
                    res = NTP().createArray(value)
                    self.assertEqual(value, res)
Ejemplo n.º 5
0
    def test_arrayRankShape_np(self):
        fun = sys._getframe().f_code.co_name
        print("Run: %s.%s() " % (self.__class__.__name__, fun))

        mlen = [
            self.__rnd.randint(2, 100),
            self.__rnd.randint(2, 50),
            self.__rnd.randint(2, 20),
            self.__rnd.randint(2, 10)
        ]
        arr = [
            [12, 0, [], "int64"],
            [[], 1, [0], None],
            [[[]], 2, [1, 0], None],
            [[[[]]], 3, [1, 1, 0], None],
            [[[[[]]]], 4, [1, 1, 1, 0], None],
            [[0], 1, [1], "int64"],
            [[[1.0]], 2, [1, 1], "float64"],
            [[[["str"]]], 3, [1, 1, 1], "str"],
            [[[[[True]]]], 4, [1, 1, 1, 1], "bool"],
            [[False], 1, [1], "bool"],
            [[1] * mlen[0], 1, [mlen[0]], "int64"],
            [["sdf"] * mlen[1], 1, [mlen[1]], "str"],
            [[-2.1233 * self.__rnd.randint(2, 100) for c in range(mlen[2])], 1,
             [mlen[2]], "float64"],
            [[[123] * mlen[0]], 2, [1, mlen[0]], "int64"],
            [[["text"]] * mlen[1], 2, [mlen[1], 1], "str"],
            [[[13.12 * self.__rnd.randint(2, 100) for c in range(mlen[2])]], 2,
             [1, mlen[2]], "float64"],
            [[[13 * self.__rnd.randint(2, 100)] for c in range(mlen[2])], 2,
             [mlen[2], 1], "int64"],
            [[["a" * self.__rnd.randint(2, 100) for c in range(mlen[1])]
              for cc in range(mlen[2])], 2, [mlen[2], mlen[1]], "str"],
            [[[[True] * mlen[0]]], 3, [1, 1, mlen[0]], "bool"],
            [[[[123.123]] * mlen[0]], 3, [1, mlen[0], 1], "float64"],
            [[[["as"]]] * mlen[1], 3, [mlen[1], 1, 1], "str"],
            [[[[13 * self.__rnd.randint(2, 100) for c in range(mlen[2])]]], 3,
             [1, 1, mlen[2]], "int64"],
            [[[[13.123 * self.__rnd.randint(2, 100)] for c in range(mlen[2])]],
             3, [1, mlen[2], 1], "float64"],
            [[[["ta" * self.__rnd.randint(1, 100)]] for c in range(mlen[2])],
             3, [mlen[2], 1, 1], "str"],
            [[[[13.123 * self.__rnd.randint(2, 100)
                for c in range(mlen[1])] for cc in range(mlen[2])]], 3,
             [1, mlen[2], mlen[1]], "float64"],
            [[[[13 * self.__rnd.randint(2, 100) for c in range(mlen[1])]]
              for cc in range(mlen[2])], 3, [mlen[2], 1, mlen[1]], "int64"],
            [[[["w" * self.__rnd.randint(2, 100) for c in range(mlen[1])]
               for cc in range(mlen[2])] for ccC in range(mlen[3])], 3,
             [mlen[3], mlen[2], mlen[1]], "str"],
            [[[[[False] * mlen[0]]]], 4, [1, 1, 1, mlen[0]], "bool"],
            [[[[[123.123]] * mlen[0]]], 4, [1, 1, mlen[0], 1], "float64"],
            [[[[[123]]] * mlen[0]], 4, [1, mlen[0], 1, 1], "int64"],
            [[[[["bleble"]]]] * mlen[1], 4, [mlen[1], 1, 1, 1], "str"],
            [[[[[13.123 * self.__rnd.randint(2, 100)
                 for c in range(mlen[2])]]]], 4, [1, 1, 1, mlen[2]],
             "float64"],
            [[[[[13 * self.__rnd.randint(2, 100)] for c in range(mlen[2])]]],
             4, [1, 1, mlen[2], 1], "int64"],
            [[[[["1" * self.__rnd.randint(2, 100)]] for c in range(mlen[2])]],
             4, [1, mlen[2], 1, 1], "str"],
            [[[[[13.123 * self.__rnd.randint(2, 100)]]]
              for c in range(mlen[2])], 4, [mlen[2], 1, 1, 1], "float64"],
            [[[[[13 * self.__rnd.randint(2, 100)
                 for c in range(mlen[1])] for cc in range(mlen[2])]]], 4,
             [1, 1, mlen[2], mlen[1]], "int64"],
            [[[[["t" * self.__rnd.randint(2, 100) for c in range(mlen[1])]]
               for cc in range(mlen[2])]], 4, [1, mlen[2], 1, mlen[1]], "str"],
            [[[[[13.123 * self.__rnd.randint(2, 100)]
                for c in range(mlen[1])]] for cc in range(mlen[2])], 4,
             [mlen[2], 1, mlen[1], 1], "float64"],
            [[[[[13 * self.__rnd.randint(2, 100) for c in range(mlen[1])]
                for cc in range(mlen[2])] for ccc in range(mlen[3])]], 4,
             [1, mlen[3], mlen[2], mlen[1]], "int64"],
            [[[[["13" * self.__rnd.randint(2, 100) for c in range(mlen[1])]
                for cc in range(mlen[2])]] for ccc in range(mlen[3])], 4,
             [mlen[3], 1, mlen[2], mlen[1]], "str"],
            [[[[[13.00 * self.__rnd.randint(2, 100) for c in range(mlen[1])]]
               for cc in range(mlen[2])] for ccc in range(mlen[3])], 4,
             [mlen[3], mlen[2], 1, mlen[1]], "float64"],
            [[[[[13 * self.__rnd.randint(2, 100)] for c in range(mlen[1])]
               for cc in range(mlen[2])] for ccc in range(mlen[3])], 4,
             [mlen[3], mlen[2], mlen[1], 1], "int64"],
            [[[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[0])]
                for cc in range(mlen[1])] for ccc in range(mlen[2])]
              for cccc in range(mlen[3])], 4,
             [mlen[3], mlen[2], mlen[1], mlen[0]], "float64"],
        ]
        el = NTP()
        for a in arr:
            self.assertEqual(el.arrayRankShape(numpy.array(a[0]))[0], a[1])
            self.assertEqual(el.arrayRankShape(numpy.array(a[0]))[1], a[2])

            if a[3] is None:
                self.assertEqual(el.arrayRankShape(numpy.array(a[0]))[2], a[3])
            else:
                self.assertEqual(el.arrayRankShape(numpy.array(a[0]))[2], a[3])
Ejemplo n.º 6
0
    def test_arrayRank(self):
        fun = sys._getframe().f_code.co_name
        print("Run: %s.%s() " % (self.__class__.__name__, fun))

        mlen = [
            self.__rnd.randint(1, 100),
            self.__rnd.randint(1, 50),
            self.__rnd.randint(1, 20),
            self.__rnd.randint(2, 10)
        ]
        arr = [
            [12, 0],
            [[], 1],
            [[[]], 2],
            [[[[]]], 3],
            [[[[[]]]], 4],
            [[0], 1],
            [[[0]], 2],
            [[[[0]]], 3],
            [[[[[0]]]], 4],
            [[-0.243], 1],
            [[1] * mlen[0], 1],
            [[-2.1233] * mlen[1], 1],
            [[-2.1233 * self.__rnd.randint(2, 100) for c in range(mlen[2])],
             1],
            [[[123.123] * mlen[0]], 2],
            [[[13.123]] * mlen[1], 2],
            [[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[2])]],
             2],
            [[[13.123 * self.__rnd.randint(2, 100)] for c in range(mlen[2])],
             2],
            [[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]
              for cc in range(mlen[2])], 2],
            [[[[123.123] * mlen[0]]], 3],
            [[[[123.123]] * mlen[0]], 3],
            [[[[13.123]]] * mlen[1], 3],
            [[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[2])]]],
             3],
            [[[[13.123 * self.__rnd.randint(2, 100)] for c in range(mlen[2])]],
             3],
            [[[[13.123 * self.__rnd.randint(2, 100)]] for c in range(mlen[2])],
             3],
            [[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]
               for cc in range(mlen[2])]], 3],
            [[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]]
              for cc in range(mlen[2])], 3],
            [[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]
               for cc in range(mlen[2])] for ccC in range(mlen[2])], 3],
            [[[[[123.123] * mlen[0]]]], 4],
            [[[[[123.123]] * mlen[0]]], 4],
            [[[[[123.123]]] * mlen[0]], 4],
            [[[[[13.123]]]] * mlen[1], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100)
                 for c in range(mlen[2])]]]], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100)]
                for c in range(mlen[2])]]], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100)]]
               for c in range(mlen[2])]], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100)]]]
              for c in range(mlen[2])], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]
                for cc in range(mlen[2])]]], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]]
               for cc in range(mlen[2])]], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100)] for c in range(mlen[1])]]
              for cc in range(mlen[2])], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]
                for cc in range(mlen[2])] for ccc in range(mlen[3])]], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]
                for cc in range(mlen[2])]] for ccc in range(mlen[3])], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]]
               for cc in range(mlen[2])] for ccc in range(mlen[3])], 4],
            [[[[[13.123 * self.__rnd.randint(2, 100) for c in range(mlen[1])]
                for cc in range(mlen[2])] for ccc in range(mlen[3])]
              for cccc in range(mlen[0])], 4],
        ]
        el = NTP()
        for a in arr:

            self.assertEqual(el.arrayRank(a[0]), a[1])
            self.assertEqual(el.arrayRank(numpy.array(a[0])), a[1])