Exemplo n.º 1
0
 def __create_cams_draft(self):
     """Creates Cam's Draft smartgrid with two levels, three columns, three actions"""
     try:
         draft = get_object_or_404(Draft, slug='cam')
     except Http404:
         draft = Draft(name="Cam", slug="cam")
         draft.save()
     level1 = DesignerLevel(draft=draft, name="Foo", slug="foo", priority=1)
     level1.save()
     level2 = DesignerLevel(draft=draft, name="Bar", slug="bar", priority=2)
     level2.save()
     column1 = DesignerColumnName(draft=draft, name="Baz", slug='baz')
     column1.save()
     column2 = DesignerColumnName(draft=draft, name="Qux", slug='qux')
     column2.save()
     column3 = DesignerColumnName(draft=draft, name="Zob", slug='zob')
     column3.save()
     col_loc = DesignerColumnGrid(draft=draft, level=level1, column=5, name=column1)
     col_loc.save()
     col_loc = DesignerColumnGrid(draft=draft, level=level1, column=2, name=column2)
     col_loc.save()
     col_loc = DesignerColumnGrid(draft=draft, level=level2, column=1, name=column3)
     col_loc.save()
     action = smartgrid_mgr.instantiate_designer_action_from_library(draft, \
                                                                     'play-outside-cafe-1')
     grid_loc = DesignerGrid(draft=draft, level=level1, column=5, row=2, action=action)
     grid_loc.save()
     action = smartgrid_mgr.instantiate_designer_action_from_library(draft, \
                                                                     'use-stairs')
     grid_loc = DesignerGrid(draft=draft, level=level1, column=2, row=1, action=action)
     grid_loc.save()
     action = smartgrid_mgr.instantiate_designer_action_from_library(draft, \
                                                                     'energy-city')
     grid_loc = DesignerGrid(draft=draft, level=level2, column=5, row=5, action=action)
     grid_loc.save()
Exemplo n.º 2
0
 def __create_cams_draft(self):
     """Creates Cam's Draft smartgrid with two levels, three columns, three actions"""
     try:
         draft = get_object_or_404(Draft, slug='cam')
     except Http404:
         draft = Draft(name="Cam", slug="cam")
         draft.save()
     level1 = DesignerLevel(draft=draft, name="Foo", slug="foo", priority=1)
     level1.save()
     level2 = DesignerLevel(draft=draft, name="Bar", slug="bar", priority=2)
     level2.save()
     column1 = DesignerColumnName(draft=draft, name="Baz", slug='baz')
     column1.save()
     column2 = DesignerColumnName(draft=draft, name="Qux", slug='qux')
     column2.save()
     column3 = DesignerColumnName(draft=draft, name="Zob", slug='zob')
     column3.save()
     col_loc = DesignerColumnGrid(draft=draft,
                                  level=level1,
                                  column=5,
                                  name=column1)
     col_loc.save()
     col_loc = DesignerColumnGrid(draft=draft,
                                  level=level1,
                                  column=2,
                                  name=column2)
     col_loc.save()
     col_loc = DesignerColumnGrid(draft=draft,
                                  level=level2,
                                  column=1,
                                  name=column3)
     col_loc.save()
     action = smartgrid_mgr.instantiate_designer_action_from_library(draft, \
                                                                     'play-outside-cafe-1')
     grid_loc = DesignerGrid(draft=draft,
                             level=level1,
                             column=5,
                             row=2,
                             action=action)
     grid_loc.save()
     action = smartgrid_mgr.instantiate_designer_action_from_library(draft, \
                                                                     'use-stairs')
     grid_loc = DesignerGrid(draft=draft,
                             level=level1,
                             column=2,
                             row=1,
                             action=action)
     grid_loc.save()
     action = smartgrid_mgr.instantiate_designer_action_from_library(draft, \
                                                                     'energy-city')
     grid_loc = DesignerGrid(draft=draft,
                             level=level2,
                             column=5,
                             row=5,
                             action=action)
     grid_loc.save()
Exemplo n.º 3
0
 def testLibraryToDesigner(self):
     """Tests instantiating a DesignerAction from a LibraryAction."""
     # LibraryAction -> DesignerAction
     lib_action = smartgrid_mgr.get_library_action(self.action_slug)
     des_action = smartgrid_mgr.instantiate_designer_action_from_library(self.draft, \
                                                                         lib_action.slug)
     self.assertTrue(
         des_action,
         "Couldn't instantiate designer action %s" % lib_action.slug)
     self.assertTrue(smartgrid_mgr.get_designer_action(self.draft, self.action_slug), \
                     "Couldn't retrieve the designer action %s" % self.action_slug)
     # ensure the TextPropmptQuestions are there
     for tpq in LibraryTextPromptQuestion.objects.filter(
             libraryaction=lib_action):
         try:
             des_tpq = get_object_or_404(DesignerTextPromptQuestion, draft=self.draft, \
                                         question=tpq.question, answer=tpq.answer, \
                                         action=des_action)
             self.assertTrue(des_tpq,
                             "Couldn't get DesignerTextPromptQuestion")
         except Http404:
             self.fail("Couldn't find DesignerTextPromptQuestion for %s" %
                       tpq)
     # LibraryColumnNames -> DesignerColumnNames
     lib_column = smartgrid_mgr.get_library_column_name(self.col_slug)
     self.assertTrue(lib_column,
                     "Couldn't get LibraryColumnName %s" % self.col_slug)
     des_column = smartgrid_mgr.instantiate_designer_column_from_library(self.draft, \
                                                                         self.col_slug)
     self.assertTrue(des_column,
                     "Couldn't get DesignerColumnName %s" % self.col_slug)
     self.assertEqual(self.draft, des_column.draft, "Drafts are not equal.")
Exemplo n.º 4
0
 def testLibraryToDesigner(self):
     """Tests instantiating a DesignerAction from a LibraryAction."""
     # LibraryAction -> DesignerAction
     lib_action = smartgrid_mgr.get_library_action(self.action_slug)
     des_action = smartgrid_mgr.instantiate_designer_action_from_library(self.draft, \
                                                                         lib_action.slug)
     self.assertTrue(des_action, "Couldn't instantiate designer action %s" % lib_action.slug)
     self.assertTrue(smartgrid_mgr.get_designer_action(self.draft, self.action_slug), \
                     "Couldn't retrieve the designer action %s" % self.action_slug)
     # ensure the TextPropmptQuestions are there
     for tpq in LibraryTextPromptQuestion.objects.filter(libraryaction=lib_action):
         try:
             des_tpq = get_object_or_404(DesignerTextPromptQuestion, draft=self.draft, \
                                         question=tpq.question, answer=tpq.answer, \
                                         action=des_action)
             self.assertTrue(des_tpq, "Couldn't get DesignerTextPromptQuestion")
         except Http404:
             self.fail("Couldn't find DesignerTextPromptQuestion for %s" % tpq)
     # LibraryColumnNames -> DesignerColumnNames
     lib_column = smartgrid_mgr.get_library_column_name(self.col_slug)
     self.assertTrue(lib_column, "Couldn't get LibraryColumnName %s" % self.col_slug)
     des_column = smartgrid_mgr.instantiate_designer_column_from_library(self.draft, \
                                                                         self.col_slug)
     self.assertTrue(des_column, "Couldn't get DesignerColumnName %s" % self.col_slug)
     self.assertEqual(self.draft, des_column.draft, "Drafts are not equal.")
Exemplo n.º 5
0
def instantiate_action(request, action_slug, level_slug, column, row, draft_slug):
    """Instantiated the Smart Grid Game Action from the Library Action with the
    given level, column, and row."""
    _ = request
    draft = smartgrid_mgr.get_designer_draft(draft_slug)
    grid_action = smartgrid_mgr.instantiate_designer_action_from_library(draft, action_slug)
    level = smartgrid_mgr.get_designer_level(draft, level_slug)
    grid = DesignerGrid()
    grid.level = level
    grid.column = column
    grid.row = row
    grid.action = grid_action
    grid.draft = draft
    grid.save()

    #  Return the new pk for the instantiated action.
    return HttpResponse(json.dumps({
            "pk": grid_action.pk,
            }), mimetype="application/json")
Exemplo n.º 6
0
def instantiate_action(request, action_slug, level_slug, column, row,
                       draft_slug):
    """Instantiated the Smart Grid Game Action from the Library Action with the
    given level, column, and row."""
    _ = request
    draft = smartgrid_mgr.get_designer_draft(draft_slug)
    grid_action = smartgrid_mgr.instantiate_designer_action_from_library(
        draft, action_slug)
    level = smartgrid_mgr.get_designer_level(draft, level_slug)
    grid = DesignerGrid()
    grid.level = level
    grid.column = column
    grid.row = row
    grid.action = grid_action
    grid.draft = draft
    grid.save()

    #  Return the new pk for the instantiated action.
    return HttpResponse(json.dumps({
        "pk": grid_action.pk,
    }),
                        mimetype="application/json")