def test_str__(self): po = pd.PdObject("pd") self.assertEqual(str(po), "[pd] {x:0,y:0,id:-1}") del po po = pd.PdObject("s", 10, 0, 20, 16, ["\\$0-out"]) po.id = 1 self.assertEqual(str(po), "[s $0-out] {x:10,y:0,id:1}")
def test_outlets(self): xd = pd.XletCalculator() self.assertEqual(xd.inlets(12), []) pdo = pd.PdObject("osc~") self.assertEqual(xd.outlets(pdo), [pd.XLET_SOUND]) pdo.name = "mtof" self.assertEqual(xd.outlets(pdo), [pd.XLET_MESSAGE]) pdo.name = "writesf~" pdo.append_arg("1") self.assertEqual(xd.outlets(pdo), []) pdo.name = "sprintf" pdo._args = [] self.assertEqual(xd.outlets(pdo), [0] * 0) pdo._args = ["test"] self.assertEqual(xd.outlets(pdo), [0] * 0) pdo._args = ["%%"] self.assertEqual(xd.outlets(pdo), [0] * 0) pdo._args = ["%02d"] self.assertEqual(xd.outlets(pdo), [0] * 1) pdo.name = "expr" pdo._args = ["$f1"] self.assertEqual(xd.outlets(pdo), [0] * 1) pdo.name = "expr" pdo._args = ["$f1;"] self.assertEqual(xd.outlets(pdo), [0] * 1) pdo._args = ["$f1; 2"] self.assertEqual(xd.outlets(pdo), [0] * 2)
def test_id(self): po = pd.PdObject("pd") self.assertEqual(po.id, -1) po.id = "5" self.assertEqual(po.id, 5) po.id = 2 self.assertEqual(po.id, 2)
def test_inlets(self): po = pd.PdObject("float") po._inlets.append(pd.XLET_MESSAGE) self.assertEqual(po.inlets(), [pd.XLET_MESSAGE] * 2) po._xlets_method = None self.assertEqual(po.inlets(), []) po._xlets_method = pd.PdObject.XMETHOD_EXPLICIT self.assertEqual(po.inlets(), [pd.XLET_MESSAGE])
def test_inlets(self): xd = pd.XletCalculator() self.assertEqual(xd.inlets(12), []) pdo = pd.PdObject("mtof") self.assertEqual(xd.inlets(pdo), [pd.XLET_MESSAGE]) pdo.name = "not-exists" self.assertEqual(xd.inlets(pdo), []) pdo.name = "min" self.assertEqual(xd.inlets(pdo), [pd.XLET_MESSAGE] * 2) pdo.name = "line" self.assertEqual(xd.inlets(pdo), [pd.XLET_MESSAGE] * 3) pdo.name = "s" self.assertEqual(xd.inlets(pdo), [pd.XLET_MESSAGE] * 2) pdo.append_arg(12) self.assertEqual(xd.inlets(pdo), [pd.XLET_MESSAGE]) pdo.name = "s~" self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND]) pdo.name = "dac~" pdo._args = [] self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND] * 2) pdo.append_arg(1) self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND] * 1) pdo.append_arg(2) self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND] * 2) pdo.append_arg(3) self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND] * 3) pdo.append_arg(4) self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND] * 4) pdo.name = "osc~" self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND, pd.XLET_MESSAGE]) pdo._args = [] pdo.name = "*~" self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND] * 2) pdo.append_arg(0.5) self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND, pd.XLET_MESSAGE]) pdo.name = "writesf~" pdo._args = [] self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND]) pdo.append_arg("4") self.assertEqual(xd.inlets(pdo), [pd.XLET_SOUND] * 4) pdo.name = "sprintf" pdo._args = [] self.assertEqual(xd.inlets(pdo), [0] * 1) pdo.append_arg("%0.1f") self.assertEqual(xd.inlets(pdo), [0] * 1) pdo.append_arg("%%") self.assertEqual(xd.inlets(pdo), [0] * 1) pdo.append_arg("%s") self.assertEqual(xd.inlets(pdo), [0] * 2) pdo.append_arg("%02d") self.assertEqual(xd.inlets(pdo), [0] * 3) pdo.append_arg("%%") self.assertEqual(xd.inlets(pdo), [0] * 3)
def test_traverse(self): class T(AbstractVisitor): def visit_object(self, o): self._o = o po = pd.PdObject("float") visitor = T() self.assertEqual(hasattr(visitor, "_o"), False) po.traverse(visitor) self.assertEqual(hasattr(visitor, "_o"), True)
def test_draw(self): class P: def draw_object(self, o): self._o = o po = pd.PdObject("float") painter = P() self.assertEqual(hasattr(painter, "_o"), False) po.draw(painter) self.assertEqual(hasattr(painter, "_o"), True)
def make_pdo(name): a = name.split(" ") pdo = pd.PdObject(a[0], args=a[1:]) return pdo
def test_args_to_string(self): po = pd.PdObject("pd") self.assertEqual(po.args_to_string(), "") del (po) po = pd.PdObject("tabread", 0, 0, 0, 0, ['\\$0-file', '1', '0', '-123']) self.assertEqual(po.args_to_string(), "$0-file 1 0 -123")
def test_name(self): po = pd.PdObject("pd") self.assertEqual(po.name, "pd") po.name = "import" self.assertEqual(po.name, "import")
def test_init_fail(self): po = pd.PdObject("")
def test_init(self): po = pd.PdObject("pd") self.assertEqual(po.id, -1) self.assertEqual(len(po.args), 0)