def test_set(self):
        box = AxisAlignedBox()

        box = box.set(left=-5.0)
        self.assertEqual(-5.0, box.left)
        self.assertEqual(0.0, box.right)
        self.assertFalse(box.isValid())

        box = box.set(bottom=-5.0)
        self.assertEqual(-5.0, box.bottom)
        self.assertEqual(0.0, box.top)
        self.assertFalse(box.isValid())

        box = box.set(back=-5.0)
        self.assertEqual(-5.0, box.back)
        self.assertEqual(0.0, box.front)
        self.assertTrue(box.isValid())

        box = box.set(right=5.0)
        self.assertEqual(-5.0, box.left)
        self.assertEqual(5.0, box.right)
        self.assertTrue(box.isValid())

        box = box.set(top=5.0)
        self.assertEqual(-5.0, box.bottom)
        self.assertEqual(5.0, box.top)
        self.assertTrue(box.isValid())

        box = box.set(front=5.0)
        self.assertEqual(-5.0, box.back)
        self.assertEqual(5.0, box.front)
        self.assertTrue(box.isValid())

        box = box.set(right=-10.0)
        self.assertEqual(-10.0, box.left)
        self.assertEqual(-5.0, box.right)
        self.assertTrue(box.isValid())

        box = box.set(top=-10.0)
        self.assertEqual(-10.0, box.bottom)
        self.assertEqual(-5.0, box.top)
        self.assertTrue(box.isValid())

        box = box.set(front=-10.0)
        self.assertEqual(-10.0, box.back)
        self.assertEqual(-5.0, box.front)
        self.assertTrue(box.isValid())