示例#1
0
 def test_jump_outoflimits(self):
     '''' Must leave current active image unchanged if jump is out of chain limits'''
     chain.Jump_To_Image(self.p_state, idx_image=5)  # jump to non existing
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
     chain.Jump_To_Image(self.p_state,
                         idx_image=-5)  # jump to non existing (negative)
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
示例#2
0
 def test_pop_back(self):
     ''' Must make the image with next smaller index active when the active is poped'''
     chain.Insert_Image_Before(self.p_state)  # add before active
     self.assertEqual(system.Get_Index(self.p_state), 1)  # active is 1st
     chain.Pop_Back(self.p_state)  # delete the last (active)
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
     self.assertEqual(chain.Get_NOI(self.p_state), 1)  # total 1 image
示例#3
0
 def test_jump(self):
     ''' Must change the active image to the one pointed by idx_image'''
     chain.Insert_Image_Before(self.p_state)  # active is 1st
     chain.Jump_To_Image(self.p_state, idx_image=0)  # jump to 0th
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
     chain.Jump_To_Image(self.p_state, idx_image=1)  # jump to 1st
     self.assertEqual(system.Get_Index(self.p_state), 1)  # active is 1st
示例#4
0
 def test_switching(self):
     ''' For Next in the back and Prev in the front active must remain unchanged'''
     chain.Insert_Image_Before(self.p_state)  # add before active
     self.assertEqual(system.Get_Index(self.p_state), 1)  # active is 1st
     chain.Next_Image(self.p_state)  # no next image
     self.assertEqual(system.Get_Index(self.p_state), 1)  # active is 1st
     chain.Prev_Image(self.p_state)  # go to prev image
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
     chain.Prev_Image(self.p_state)  # no prev image
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
示例#5
0
 def test_replace_outoflimits(self):
     ''' Must leave current image unchanged if it tries to replace an non existing image'''
     chain.Replace_Image(self.p_state,
                         idx_image=5)  # replace 0th with 5th (not exist)
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
     self.assertEqual(chain.Get_NOI(self.p_state), 1)  # total 1 image
     chain.Replace_Image(self.p_state,
                         idx_image=-5)  # replace 0th with -5th (not exist)
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
     self.assertEqual(chain.Get_NOI(self.p_state), 1)  # total 1 image
示例#6
0
    def test_delete_outoflimits(self):

        chain.Insert_Image_Before(self.p_state)  # active is 1st
        chain.Insert_Image_Before(self.p_state)  # active is 2nd
        self.assertEqual(system.Get_Index(self.p_state), 2)  # active is 2nd
        self.assertEqual(chain.Get_NOI(self.p_state), 3)  # total 3 images

        # test the deletion of a non existing image with positive idx
        chain.Delete_Image(self.p_state,
                           idx_image=5)  # delete -5th (not exist)
        self.assertEqual(chain.Get_NOI(self.p_state), 3)  # total 3 images

        # test the deletion of a non existing image with negative idx
        chain.Delete_Image(self.p_state,
                           idx_image=-5)  # delete -5th (not exist)
        self.assertEqual(chain.Get_NOI(self.p_state), 2)  # total 2 images
        self.assertEqual(system.Get_Index(self.p_state), 1)  # active is 1st
示例#7
0
 def test_trivial_switching(self):
     ''' Next or Prev image in image of length 1 should result to 0th active'''
     chain.Next_Image(self.p_state)  # no next image
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
     chain.Prev_Image(self.p_state)  # no prev image
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
示例#8
0
 def test_push_back(self):
     ''' Must add one image and leave active's index unchanged '''
     chain.Push_Back(self.p_state)  # add after all
     self.assertEqual(chain.Get_NOI(self.p_state), 2)  # total 2 images
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
示例#9
0
 def test_insert_before(self):
     ''' Must reindex (increment by one) active image '''
     chain.Insert_Image_Before(self.p_state)  # add before active
     self.assertEqual(chain.Get_NOI(self.p_state), 2)  # total 2 images
     self.assertEqual(system.Get_Index(self.p_state), 1)  # active is 1st
示例#10
0
 def test_insert_after(self):
     ''' Must leave the index of active image the same '''
     chain.Insert_Image_After(self.p_state)  # add after active
     self.assertEqual(chain.Get_NOI(self.p_state), 2)  # total 2 images
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
示例#11
0
 def test_active_image(self):
     ''' Must return the index of the active image '''
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
示例#12
0
 def test_remove_smallest_index_active(self):
     '''' Must set the active to the image with the smallest index left'''
     chain.Insert_Image_After(self.p_state)  # active is 0th
     chain.Delete_Image(self.p_state)  # delete 0th
     self.assertEqual(chain.Get_NOI(self.p_state), 1)  # total 1 image
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
示例#13
0
 def test_replace_trivial(self):
     ''' Must leave active image same if replace by its self'''
     chain.Replace_Image(self.p_state, idx_image=0)  # replace 0th with 0th
     self.assertEqual(system.Get_Index(self.p_state), 0)  # active is 0th
示例#14
0
 def test_jump_trivial(self):
     ''' Must leave active image same if jump to the active'''
     chain.Jump_To_Image(self.p_state, idx_image=0)  # jump to active itself
     self.assertEqual(system.Get_Index(self.p_state),
                      0)  # active is 0th (the same)
示例#15
0
文件: system.py 项目: sbnr/spirit
 def test_get_index(self):
     index = system.Get_Index(self.p_state)
     self.assertEqual(index, 0)