def testPointEquality(self): p1 = Point(x=2, y=3) p2 = Point(x=2, y=3) p3 = Point(x=2, y=4) self.assertTrue(p1 == p2) self.assertFalse(p1 == p3)
def testStrokeEqualityNone(self): s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) self.assertFalse(s1 == None) self.assertTrue(s1 != None)
def testClearStroke(self): s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s1.clear() self.assertEquals(len(s1), 0)
def testStrokeCopy(self): s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s2 = s1.copy() self.assertTrue(s1 == s2)
def testWritingEqualityNone(self): s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s2 = Stroke() s2.append_point(Point(x=2, y=3)) s2.append_point(Point(x=3, y=4)) w1 = Writing() w1.append_stroke(s1) w1.append_stroke(s2) self.assertTrue(w1 != None) self.assertFalse(w1 == None)
def _getStroke(self): point = Point() point.x = 1 point.y = 2 point.timestamp = 3 point2 = Point() point2.x = 4 point2.y = 5 point2.pressure = 0.1 stroke = Stroke() stroke.append_point(point) stroke.append_point(point2) return stroke
def testWritingCopy(self): s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s2 = Stroke() s2.append_point(Point(x=2, y=3)) s2.append_point(Point(x=3, y=4)) w1 = Writing() w1.append_stroke(s1) w1.append_stroke(s2) w2 = w1.copy() self.assertTrue(w1 == w2)
def _start_element(self, name, attrs): self._tag = name if self._first_tag: self._first_tag = False if self._tag != "dictionary": raise ValueError, "The very first tag should be <dictionary>" if self._tag == "character": self._writing = Writing() if self._tag == "stroke": self._stroke = Stroke() elif self._tag == "point": point = Point() for key in ("x", "y", "pressure", "xtilt", "ytilt", "timestamp"): if attrs.has_key(key): value = attrs[key].encode("UTF-8") if key in ("pressure", "xtilt", "ytilt"): value = float(value) else: value = int(float(value)) else: value = None setattr(point, key, value) self._stroke.append_point(point)
def testRemoveStroke(self): s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s2 = Stroke() s2.append_point(Point(x=2, y=3)) s2.append_point(Point(x=3, y=4)) w = Writing() w.append_stroke(s1) w.append_stroke(s2) w.remove_stroke(1) self.assertEquals(w.get_strokes(), [[(2, 3), (3, 4)]])
def _handle_PEN_DOWN(self, args): writing = self._char.get_writing() points = [[int(p_) for p_ in p.split(" ")] \ for p in args.strip().split("\n")] stroke = Stroke() for x, y in points: stroke.append_point(Point(x,y)) writing.append_stroke(stroke)
def _getWriting(self): point = Point() point.x = 1 point.y = 2 point.timestamp = 3 point2 = Point() point2.x = 4 point2.y = 5 point2.pressure = 0.1 stroke = Stroke() stroke.append_point(point) stroke.append_point(point2) writing = Writing() writing.append_stroke(stroke) return writing
def _handle_PEN_DOWN(self, args): writing = self._char.get_writing() points = [[int(p_) for p_ in p.split(" ")] \ for p in args.strip().split("\n")] stroke = Stroke() for x, y in points: x, y = self._get_coordinates(x,y) #assert(x >= 0 and x <= 1000) #assert(y >= 0 and y <= 1000) stroke.append_point(Point(x,y)) writing.append_stroke(stroke)
def _start_element(self, name, attrs): self._tag = name if self._first_tag: self._first_tag = False if self._tag != "character-collection": raise ValueError, \ "The very first tag should be <character-collection>" if self._tag == "set": if not attrs.has_key("name"): raise ValueError, "<set> should have a name attribute" self._curr_set_name = attrs["name"].encode("UTF-8") self.add_set(self._curr_set_name) if self._tag == "character": self._curr_char = Character() self._curr_writing = self._curr_char.get_writing() self._curr_width = None self._curr_height = None self._curr_utf8 = None if self._tag == "stroke": self._curr_stroke = Stroke() elif self._tag == "point": point = Point() for key in ("x", "y", "pressure", "xtilt", "ytilt", "timestamp"): if attrs.has_key(key): value = attrs[key].encode("UTF-8") if key in ("pressure", "xtilt", "ytilt"): value = float(value) else: value = int(float(value)) else: value = None setattr(point, key, value) self._curr_stroke.append_point(point)
def testStrokeEquality(self): s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s2 = Stroke() s2.append_point(Point(x=2, y=3)) s2.append_point(Point(x=3, y=4)) s3 = Stroke() s3.append_point(Point(x=2, y=3)) s3.append_point(Point(x=4, y=5)) self.assertTrue(s1 == s2) self.assertFalse(s1 == s3)
def testReplaceStroke(self): s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s2 = Stroke() s2.append_point(Point(x=2, y=3)) s2.append_point(Point(x=3, y=4)) w = Writing() w.append_stroke(s1) w.append_stroke(s2) s3 = Stroke() s3.append_point(Point(x=22, y=33)) s3.append_point(Point(x=33, y=44)) w.replace_stroke(1, s3) self.assertEquals(w.get_strokes(), [[(2, 3), (3, 4)], [(22, 33), (33, 44)]])
def _getPoint(self): point = Point() point.x = 1 point.y = 2 point.timestamp = 3 return point
def testDuration(self): point = Point() point.x = 1 point.y = 2 point.timestamp = 0 point2 = Point() point2.x = 4 point2.y = 5 point2.timestamp = 5 stroke = Stroke() stroke.append_point(point) stroke.append_point(point2) point3 = Point() point3.x = 1 point3.y = 2 point3.timestamp = 7 point4 = Point() point4.x = 4 point4.y = 5 point4.timestamp = 10 stroke2 = Stroke() stroke2.append_point(point3) stroke2.append_point(point4) self.assertEquals(stroke2.get_duration(), 3) writing = Writing() writing.append_stroke(stroke) writing.append_stroke(stroke2) self.assertEquals(writing.get_duration(), 10)
def testPointEqualityNone(self): p1 = Point(x=2, y=3) self.assertFalse(p1 == None) self.assertTrue(p1 != None)
def _handle_PEN_UP(self, args): writing = self._char.get_writing() x, y = [int(p) for p in args.strip().split(" ")] x, y = self._get_coordinates(x,y) strokes = writing.get_strokes() strokes[-1].append(Point(x,y))
def testPointCopy(self): p1 = Point(x=2, y=3) p2 = p1.copy() self.assertTrue(p1 == p2)
def testWritingEquality(self): s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s2 = Stroke() s2.append_point(Point(x=2, y=3)) s2.append_point(Point(x=3, y=4)) w1 = Writing() w1.append_stroke(s1) w1.append_stroke(s2) s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s2 = Stroke() s2.append_point(Point(x=2, y=3)) s2.append_point(Point(x=3, y=4)) w2 = Writing() w2.append_stroke(s1) w2.append_stroke(s2) s1 = Stroke() s1.append_point(Point(x=2, y=3)) s1.append_point(Point(x=3, y=4)) s2 = Stroke() s2.append_point(Point(x=2, y=3)) s2.append_point(Point(x=3, y=5)) w3 = Writing() w3.append_stroke(s1) w3.append_stroke(s2) self.assertEquals(w1, w2) self.assertNotEqual(w1, w3)