From b595adab7a332fccf90714d194e70fdf73e458e3 Mon Sep 17 00:00:00 2001
From: Vivien Maisonneuve <v.maisonneuve@gmail.com>
Date: Fri, 11 Jul 2014 17:00:47 +0200
Subject: [PATCH] Implement method Point.aspolyhedron()

---
 pypol/coordinates.py            | 7 +++++++
 pypol/tests/test_coordinates.py | 6 +++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/pypol/coordinates.py b/pypol/coordinates.py
index 78e8d4a..7923648 100644
--- a/pypol/coordinates.py
+++ b/pypol/coordinates.py
@@ -112,6 +112,13 @@ class Point(Coordinates):
         return isinstance(other, Point) and \
             self._coordinates == other._coordinates
 
+    def aspolyhedron(self):
+        from .polyhedra import Polyhedron
+        equalities = []
+        for symbol, coordinate in self.coordinates():
+            equalities.append(symbol - coordinate)
+        return Polyhedron(equalities)
+
 
 class Vector(Coordinates):
     """
diff --git a/pypol/tests/test_coordinates.py b/pypol/tests/test_coordinates.py
index 2e14032..044d773 100644
--- a/pypol/tests/test_coordinates.py
+++ b/pypol/tests/test_coordinates.py
@@ -1,8 +1,9 @@
 import math
 import unittest
 
-from ..linexprs import Symbol
 from ..coordinates import *
+from ..linexprs import Symbol
+from ..polyhedra import Eq
 
 
 class TestPoint(unittest.TestCase):
@@ -29,6 +30,9 @@ class TestPoint(unittest.TestCase):
         self.assertEqual(self.pt1 - self.pt2, Vector({self.x: -5, self.y: -35, self.z: -59}))
         self.assertEqual(self.pt1 - self.vec1, Point({self.x: -10, self.y: -25, self.z: -39}))
 
+    def test_aspolyhedron(self):
+        self.assertEqual(self.pt1.aspolyhedron(), Eq(self.x, 10) & Eq(self.y, 5) & Eq(self.z, 1))
+
 
 class TestVector(unittest.TestCase):
 
-- 
2.20.1