File: test_writing.py

package info (click to toggle)
tomoe 0.6.0-1.3
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 51,396 kB
  • sloc: xml: 1,387,526; ansic: 11,515; sh: 9,072; ruby: 1,344; python: 762; makefile: 450
file content (90 lines) | stat: -rw-r--r-- 2,719 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# encoding: utf-8
import os
import sys
import glob
import unittest
import test_common
import tomoe

class TomoeWritingTest(unittest.TestCase):

    def testDuplicate(self):
        writing1 = tomoe.Writing()
        n = 10
        for i in range(n):
            writing1.move_to(i, i)
            writing1.line_to(i * 2, i * 2)
        
        writing2 = writing1.dup()
        self.assertEqual(writing1.to_xml(), writing2.to_xml())

    def testClear(self):
        writing = tomoe.Writing()

        self.assertEqual(0, len(writing.get_strokes()))
        n = 10
        for i in range(n):
            writing.move_to(i, i)
            writing.line_to(i * 2, i * 2)

        writing.clear()
        self.assertEqual(0, len(writing.get_strokes()))

    def testGetNStrokes(self):
        writing = tomoe.Writing()
        self.assertEqual(0, len(writing.get_strokes()))

        n = 10
        for i in range(n):
            writing.move_to(i, i)
            writing.line_to(i * 2, i * 2)
        self.assertEqual(n, writing.get_n_strokes())

    def testGetStrokes(self):
        writing = tomoe.Writing()
        self.assertEqual(0, len(writing.get_strokes()))

        n = 10
        for i in range(n):
            writing.move_to(int(i), int(i))
            writing.line_to(int(i * 2), int(i * 2))
        self.assertEqual(n, writing.get_n_strokes())
       
        for i, stroke in enumerate(writing.get_strokes()):
            for j, point in enumerate(stroke):
                self.assertEqual(point, (i * (j+1), i * (j+1)))

    def testRemoveLastStroke(self):
        writing = tomoe.Writing()
        self.assertEqual(0, len(writing.get_strokes()))

        n = 10
        for i in range(n):
            writing.move_to(i, i)
            writing.line_to(i * 2, i * 2)
        self.assertEqual(n, writing.get_n_strokes())
        writing.remove_last_stroke()
        
        self.assertEqual(n - 1, writing.get_n_strokes())
        for i, stroke in enumerate(writing.get_strokes()):
            for j, point in enumerate(stroke):
                self.assertEqual((i * (j+1), i * (j+1)), point)

    def testToXML(self):
        writing = tomoe.Writing()
        n = 10
        for i in range(n):
            writing.move_to(i, i)
            writing.line_to(i * 2, i * 2)

        xml = ""
        xml += "    <strokes>\n"
        for i, stroke in enumerate(writing.get_strokes()):
            xml += "      <stroke>\n"
            for j, point in enumerate(stroke):
                xml += "        <point x=\"%d\" y=\"%d\"/>\n" % (i * (j+1), i * (j+1))
            xml += "      </stroke>\n"
        xml += "    </strokes>\n"
        self.assertEqual(xml, writing.to_xml())

# vi:ts=4:nowrap:ai:expandtab