コード例 #1
0
 def test_slice_will_set_the_zoom_attribute_of_the_camera_properly(self):
     """testing if calling the slice() method will set the zoom attribute
     of the camera properly
     """
     rs = RenderSlicer(camera=self.camera)
     rs.slice(2, 3)
     self.assertAlmostEqual(self.camera.zoom.get(), 0.5)
コード例 #2
0
 def test_slice_will_set_the_render_pan_zoom_attribute_of_the_camera(self):
     """testing if calling the slice() method will set the renderPanZoom
     attribute of the camera
     """
     rs = RenderSlicer(camera=self.camera)
     rs.slice(10, 20)
     self.assertEqual(self.camera.renderPanZoom.get(), True)
コード例 #3
0
 def test_slices_in_y_attribute_is_working_properly(self):
     """testing if the slices_in_y attribute is properly working
     """
     test_value = 1001
     rs = RenderSlicer(camera=self.camera)
     self.assertNotEqual(rs.slices_in_y, test_value)
     rs.slices_in_y = test_value
     self.assertEqual(rs.slices_in_y, test_value)
コード例 #4
0
 def test_slice_will_set_the_vertical_film_aperture_of_the_camera_properly(
         self):
     """testing if calling the slice() method will set the
     verticalFilmAperture attribute of the camera properly
     """
     rs = RenderSlicer(camera=self.camera)
     rs.slice(2, 3)
     self.assertAlmostEqual(self.camera.verticalFilmAperture.get(),
                            0.7972425)
コード例 #5
0
    def test_camera_attribute_is_set_to_None(self):
        """testing if setting the camera attribute to None will raise a
        TypeError
        """
        rs = RenderSlicer(camera=self.camera)
        with self.assertRaises(TypeError) as cm:
            rs.camera = None

        self.assertEqual(str(cm.exception), 'Please supply a Maya camera')
コード例 #6
0
    def test_slices_in_x_attribute_is_zero(self):
        """testing if a ValueError will be raised when the slices_in_x
        attribute is set to zero
        """
        rs = RenderSlicer(camera=self.camera)
        with self.assertRaises(ValueError) as cm:
            rs.slices_in_x = 0

        self.assertEqual(
            str(cm.exception),
            'RenderSlicer.slices_in_x should be a non-zero positive integer')
コード例 #7
0
    def test_slices_in_y_attribute_is_smaller_than_1(self):
        """testing if a ValueError will be raised when the slices_in_y
        attribute is set to a value smaller than 1
        """
        rs = RenderSlicer(camera=self.camera)
        with self.assertRaises(ValueError) as cm:
            rs.slices_in_y = 0

        self.assertEqual(
            str(cm.exception),
            'RenderSlicer.slices_in_y should be a non-zero positive integer')
コード例 #8
0
    def test_camera_attribute_is_set_to_a_non_camera_object(self):
        """testing if setting the camera attribute to a non camera object will
        raise a TypeError
        """
        rs = RenderSlicer(camera=self.camera)
        with self.assertRaises(TypeError) as cm:
            rs.camera = 'not a maya camera'

        self.assertEqual(
            str(cm.exception),
            'RenderSlicer.camera should be a Maya camera, not str')
コード例 #9
0
    def test_slices_in_x_attribute_is_set_to_None(self):
        """testing if a TypeError will be raised when the slices_in_x attribute
        is set to None
        """
        rs = RenderSlicer(camera=self.camera)
        with self.assertRaises(TypeError) as cm:
            rs.slices_in_x = None

        self.assertEqual(
            str(cm.exception),
            "RenderSlicer.slices_in_x should be a non-zero positive integer, "
            "not NoneType")
コード例 #10
0
    def test_slice_will_create_data_attributes_on_camera(self):
        """testing if calling the slice() method will create the data
        attributes on the camera
        """
        rs = RenderSlicer(camera=self.camera)
        rs.slice(10, 20)

        self.assertTrue(rs.camera.hasAttr('isSliced'))
        self.assertTrue(rs.camera.hasAttr('nonSlicedResolutionX'))
        self.assertTrue(rs.camera.hasAttr('nonSlicedResolutionY'))
        self.assertTrue(rs.camera.hasAttr('slicesInX'))
        self.assertTrue(rs.camera.hasAttr('slicesInY'))
コード例 #11
0
 def test_slice_will_set_the_vertical_pan_attribute_of_the_camera_properly(
         self):
     """testing if calling the slice() method will set the verticalPan
     attribute of the camera properly
     """
     rs = RenderSlicer(camera=self.camera)
     rs.slice(2, 3)
     expected_values = [-0.2657475, -0.2657475, 0, 0, 0.2657475, 0.2657475]
     for i in range(6):
         pm.currentTime(i)
         self.assertAlmostEqual(self.camera.verticalPan.get(),
                                expected_values[i])
コード例 #12
0
    def test_slices_in_x_attribute_is_set_to_a_value_other_than_an_integer(
            self):
        """testing if a TypeError will be tested if the slices_in_x attribute
        is set to a value other than an integer
        """
        rs = RenderSlicer(camera=self.camera)
        with self.assertRaises(TypeError) as cm:
            rs.slices_in_x = 'not an integer'

        self.assertEqual(
            str(cm.exception),
            'RenderSlicer.slices_in_x should be a non-zero positive integer, '
            'not str')
コード例 #13
0
    def test_slice_will_set_the_render_resolution(self):
        """testing if calling slice() method will set the render resolution
        """
        # check the scene render resolution first
        dres = pm.PyNode('defaultResolution')
        dres.width.set(960)
        dres.height.set(540)

        rs = RenderSlicer(camera=self.camera)
        rs.slice(10, 20)

        self.assertEqual(dres.width.get(), 96)
        self.assertEqual(dres.height.get(), 27)
コード例 #14
0
    def test_init_with_a_sliced_camera(self):
        """testing if initializing with a pre-sliced camera will work properly
        """
        dres = pm.PyNode('defaultResolution')
        dres.width.set(1000)
        dres.height.set(1000)

        rs = RenderSlicer(camera=self.camera)
        rs.slice(10, 10)

        rs2 = RenderSlicer(camera=self.camera)
        self.assertEqual(rs2.is_sliced, True)
        self.assertEqual(rs2.slices_in_x, 10)
        self.assertEqual(rs2.slices_in_y, 10)
コード例 #15
0
    def test_slice_will_set_the_pixel_aspect_to_1(self):
        """testing if the slice() method will set the render pixel aspect to 1
        """
        dres = pm.PyNode('defaultResolution')
        dres.width.set(1920)
        dres.height.set(1080)
        dres.pixelAspect.set(2.5)

        rs = RenderSlicer(self.camera)
        rs.slice(10, 10)

        self.assertEqual(dres.pixelAspect.get(), 1)
        self.assertEqual(dres.width.get(), 192)
        self.assertEqual(dres.height.get(), 108)
コード例 #16
0
    def test_slice_will_set_the_data_attributes_on_camera(self):
        """testing if calling the slice() method will set the data
        attributes properly on camera
        """
        # check the scene render resolution first
        dres = pm.PyNode('defaultResolution')
        dres.width.set(960)
        dres.height.set(540)

        rs = RenderSlicer(camera=self.camera)
        rs.slice(10, 20)

        self.assertEqual(rs.camera.isSliced.get(), True)
        self.assertEqual(rs.camera.nonSlicedResolutionX.get(), 960)
        self.assertEqual(rs.camera.nonSlicedResolutionY.get(), 540)
        self.assertEqual(rs.camera.slicesInX.get(), 10)
        self.assertEqual(rs.camera.slicesInY.get(), 20)
コード例 #17
0
    def test_camera_argument_is_None(self):
        """testing if setting the camera argument to None will raise a
        TypeError
        """
        with self.assertRaises(TypeError) as cm:
            RenderSlicer(camera=None)

        self.assertEqual(str(cm.exception), 'Please supply a Maya camera')
コード例 #18
0
    def test_camera_argument_is_not_camera(self):
        """testing if a TypeError will be raised when the camera argument value
        is not a Maya camera object
        """
        with self.assertRaises(TypeError) as cm:
            RenderSlicer(camera='not a maya camera')

        self.assertEqual(
            str(cm.exception),
            'RenderSlicer.camera should be a Maya camera, not str')
コード例 #19
0
    def test_slice_will_work_on_previously_sliced_camera(self):
        """testing if the calling slice() method will also work with a
        previously sliced camera
        """
        dres = pm.PyNode('defaultResolution')
        dres.width.set(960)
        dres.height.set(540)

        rs = RenderSlicer(camera=self.camera)
        rs.slice(10, 10)
        self.assertEqual(dres.width.get(), 96)
        self.assertEqual(dres.height.get(), 54)

        rs2 = RenderSlicer(camera=self.camera)
        rs2.slice(5, 5)
        self.assertEqual(dres.width.get(), 192)
        self.assertEqual(dres.height.get(), 108)
コード例 #20
0
    def test_unslice_will_set_the_is_sliced_attribute_correctly(self):
        """testing if unslice() method will set the is_sliced attribute\
        correctly
        """
        rs = RenderSlicer(camera=self.camera)
        rs.slice(10, 10)

        self.assertTrue(rs.is_sliced)

        rs.unslice()
        self.assertFalse(rs.is_sliced)
コード例 #21
0
    def test_slice_will_un_slice_the_same_camera(self):
        """testing if calling the slice() method will un-slice the camera if
        it is already sliced
        """
        # check the scene render resolution first
        dres = pm.PyNode('defaultResolution')
        dres.width.set(960)
        dres.height.set(540)

        rs = RenderSlicer(camera=self.camera)
        rs.slice(10, 10)

        # check the render resolution
        self.assertEqual(dres.width.get(), 96)
        self.assertEqual(dres.height.get(), 54)

        # create a new camera and slice again
        rs2 = RenderSlicer(camera=self.camera)
        rs2.slice(5, 5)

        # check the resolution
        self.assertEqual(dres.width.get(), 192)
        self.assertEqual(dres.height.get(), 108)
コード例 #22
0
    def test_unslice_will_restore_original_render_resolution(self):
        """unslice will restore the original render resolution
        """
        dres = pm.PyNode('defaultResolution')
        dres.width.set(960)
        dres.height.set(540)

        rs = RenderSlicer(camera=self.camera)
        rs.slice(10, 10)

        self.assertEqual(dres.width.get(), 96)
        self.assertEqual(dres.height.get(), 54)

        rs.unslice()
        self.assertEqual(dres.width.get(), 960)
        self.assertEqual(dres.height.get(), 540)
コード例 #23
0
    def test_slice_will_un_slice_if_the_scene_has_a_silced_camera(self):
        """testing if calling the slice() method will un-slice the scene if
        there is a previously sliced camera
        """
        # check the scene render resolution first
        dres = pm.PyNode('defaultResolution')
        dres.width.set(960)
        dres.height.set(540)

        rs = RenderSlicer(camera=self.camera)
        rs.slice(10, 10)

        # check the render resolution
        self.assertEqual(dres.width.get(), 96)
        self.assertEqual(dres.height.get(), 54)

        # create a new camera and slice again
        cam = pm.nt.Camera()
        rs2 = RenderSlicer(camera=cam)
        rs2.slice(5, 5)

        # check the resolution
        self.assertEqual(dres.width.get(), 192)
        self.assertEqual(dres.height.get(), 108)