Exemplo n.º 1
0
    def toxml(self, stylesheet="proviola.xsl"):
        frame_doc = Movie.toxml(self, stylesheet)
        # Entitites taken from Symbols.v in the SF notes.
        entity_map = {
            "nbsp": " ",
            "mdash": "—",
            "dArr": "⇓",
            "rArr": "⇒",
            "rarr": "→",
            "larr": "←",
            "harr": "↔",
            "forall": "∀",
            "exist": "∃",
            "exists": "∃",
            "and": "∧",
            "or": "∨",
            "Gamma": "Γ",
            "quot": """,
            "acute": "´",
        }

        entities = "\n".join([
            '<!ENTITY %s "%s">' % (key, entity_map[key]) for key in entity_map
        ])
        frame_doc.insert(1, Declaration("DOCTYPE movie [" + entities + "]"))
        scene_tree = Tag(frame_doc, "scenes")
        frame_doc.movie.append(scene_tree)

        for scene in self._scenes:
            scene_tree.append(scene.toxml(frame_doc))

        return frame_doc
Exemplo n.º 2
0
  def toxml(self, stylesheet="proviola.xsl"):
    frame_doc = Movie.toxml(self, stylesheet)    
    # Entitites taken from Symbols.v in the SF notes.
    entity_map = {
      "nbsp":   "&#160;",
      "mdash":  "&#8212;",
      "dArr":   "&#8659;",
      "rArr":   "&#8658;",
      "rarr":   "&#8594;",
      "larr":   "&#8592;",
      "harr":   "&#8596;",
      "forall": "&#8704;",
      "exist":  "&#8707;",
      "exists": "&#8707;",
      "and":    "&#8743;",
      "or":     "&#8744;",
      "Gamma":  "&#915;",
    }

    entities = "\n".join(
                ['<!ENTITY %s "%s">'%(key, entity_map[key]) 
                 for key in entity_map])
    frame_doc.insert(1, Declaration("DOCTYPE movie [" + entities + "]"))
    scene_tree = Tag(frame_doc, "scenes")
    frame_doc.movie.append(scene_tree)
      
    for scene in self._scenes:
      scene_tree.append(scene.toxml(frame_doc))      
        
    return frame_doc
Exemplo n.º 3
0
class Test_Movie(unittest.TestCase):
  """ A set of test cases for movies. """

  def setUp(self):
    """ Setup: just construct a movie """
    self.movie = Movie()


  def test_AddFrame(self):
    """ Addition of a frame in order should yield correct IDs """
    frame1 = Frame(command = "command1", response = "response1")
    self.movie.addFrame(frame1)

    frame2 = Frame(command = "command2", response = "response2")
    self.movie.addFrame(frame2)

    frame3 = Frame(command = "command3", response = "response3")
    self.movie.addFrame(frame3)

    self.assertEquals(self.movie.getLength(), 3)
    self.assertEquals(frame1.getId(), 0)
    self.assertEquals(frame2.getId(), 1)
    self.assertEquals(frame3.getId(), 2)

  def _storeOpenAndCompareMovie(self):
    self.movie.toFile(TESTFILM_PATH)
    importMov = Movie()
    importMov.openFile(TESTFILM_PATH)

    self.assertEquals(str(self.movie.toxml()), str(importMov.toxml()))

  def testToFromXML(self):
    """ Writing and loading an empty Movie should give the same document """
    self._storeOpenAndCompareMovie()

  def testAddToFromXML(self):
    self.movie.addFrame(Frame(command="cmd", response="resp"))
    self._storeOpenAndCompareMovie()

  def testSemiEmptyExport(self):
    self.movie.addFrame(Frame(command="cmd", response=""))
    self._storeOpenAndCompareMovie()

  def testEmptyExport(self):
    self.movie.addFrame(Frame(command="cmd"))
    self._storeOpenAndCompareMovie()

  def testIds(self):
    """ Test if getFrameById works """
    f1 = Frame(command = "cmd1", response = "rsp1")
    f2 = Frame(command = "cmd2", response = "rsp2")
    self.movie.addFrame(f1)
    self.movie.addFrame(f2)

    f1ById = self.movie.getFrameById(f1.getId())

    self.assertEqual(f1, f1ById)
Exemplo n.º 4
0
class Test_Movie(unittest.TestCase):
  """ A set of test cases for movies. """

  def setUp(self):
    """ Setup: just construct a movie """
    self.movie = Movie()
  
   
  def test_AddFrame(self):
    """ Addition of a frame in order should yield correct IDs """
    frame1 = Frame(command = "command1", response = "response1")    
    self.movie.addFrame(frame1)

    frame2 = Frame(command = "command2", response = "response2")    
    self.movie.addFrame(frame2)

    frame3 = Frame(command = "command3", response = "response3")    
    self.movie.addFrame(frame3)
    
    self.assertEquals(self.movie.getLength(), 3)
    self.assertEquals(frame1.getId(), 0)
    self.assertEquals(frame2.getId(), 1)
    self.assertEquals(frame3.getId(), 2)

  def _storeOpenAndCompareMovie(self):
    self.movie.toFile(TESTFILM_PATH)
    importMov = Movie()
    importMov.openFile(TESTFILM_PATH)
    
    self.assertEquals(str(self.movie.toxml()), str(importMov.toxml()))

  def testToFromXML(self):
    """ Writing and loading an empty Movie should give the same document """
    self._storeOpenAndCompareMovie()
      
  def testAddToFromXML(self):
    self.movie.addFrame(Frame(command="cmd", response="resp"))
    self._storeOpenAndCompareMovie()
  
  def testSemiEmptyExport(self):
    self.movie.addFrame(Frame(command="cmd", response=""))
    self._storeOpenAndCompareMovie()

  def testEmptyExport(self):
    self.movie.addFrame(Frame(command="cmd"))
    self._storeOpenAndCompareMovie()

  def testIds(self):
    """ Test if getFrameById works """
    f1 = Frame(command = "cmd1", response = "rsp1")
    f2 = Frame(command = "cmd2", response = "rsp2")
    self.movie.addFrame(f1)
    self.movie.addFrame(f2)
    
    f1ById = self.movie.getFrameById(f1.getId())

    self.assertEqual(f1, f1ById)
Exemplo n.º 5
0
  def _storeOpenAndCompareMovie(self):
    self.movie.toFile(TESTFILM_PATH)
    importMov = Movie()
    importMov.openFile(TESTFILM_PATH)

    self.assertEquals(str(self.movie.toxml()), str(importMov.toxml()))
Exemplo n.º 6
0
 def _storeOpenAndCompareMovie(self):
   self.movie.toFile(TESTFILM_PATH)
   importMov = Movie()
   importMov.openFile(TESTFILM_PATH)
   
   self.assertEquals(str(self.movie.toxml()), str(importMov.toxml()))