From: Vivien Maisonneuve <v.maisonneuve@gmail.com>
Date: Tue, 19 Aug 2014 12:15:56 +0000 (+0200)
Subject: Make Dummy.__new__() inherit from Symbol.__new__()
X-Git-Tag: 1.0~52
X-Git-Url: https://scm.cri.minesparis.psl.eu/git/linpy.git/commitdiff_plain/a4a564b4061ca0a495f2f2dba784d28b685b6f1d?ds=inline

Make Dummy.__new__() inherit from Symbol.__new__()
---

diff --git a/linpy/linexprs.py b/linpy/linexprs.py
index b97f048..d62c671 100644
--- a/linpy/linexprs.py
+++ b/linpy/linexprs.py
@@ -463,12 +463,15 @@ class Symbol(LinExpr):
             raise SyntaxError('invalid syntax')
         self = object().__new__(cls)
         self._name = name
-        self._coefficients = {self: Fraction(1)}
         self._constant = Fraction(0)
         self._symbols = (self,)
         self._dimension = 1
         return self
 
+    @property
+    def _coefficients(self):
+        return {self: Fraction(1)}
+
     @property
     def name(self):
         """
@@ -553,15 +556,8 @@ class Dummy(Symbol):
         """
         if name is None:
             name = 'Dummy_{}'.format(Dummy._count)
-        elif not isinstance(name, str):
-            raise TypeError('name must be a string')
-        self = object().__new__(cls)
+        self = super().__new__(cls, name)
         self._index = Dummy._count
-        self._name = name.strip()
-        self._coefficients = {self: Fraction(1)}
-        self._constant = Fraction(0)
-        self._symbols = (self,)
-        self._dimension = 1
         Dummy._count += 1
         return self