def test_is_valid_sg_code(self):
        """Test for is_valid_sg_code."""

        self.assertTrue(is_valid_sg_code('C01900000000026300000'))
        self.assertTrue(is_valid_sg_code('B01900000000026300000'))

        # issue #20
        self.assertTrue(is_valid_sg_code('T0JP00000000010800008'))

        self.assertFalse(is_valid_sg_code('Foo'))
        # Too long
        self.assertFalse(is_valid_sg_code('B019000000000263000000'))
        # Too short
        self.assertFalse(is_valid_sg_code('B01900000000026300'))
        # not valid regex
        self.assertFalse(is_valid_sg_code('C0190000000002630000X'))
        # Null
        # noinspection PyUnresolvedReferences
        null_variant = QtCore.QPyNullVariant(str)
        self.assertFalse(is_valid_sg_code(null_variant))

        # unicode
        unicode_sg_code = unicode('B01900000000026300000')
        self.assertTrue(is_valid_sg_code(unicode_sg_code))
        unicode_sg_code = unicode('B0190000000002630000X')
        self.assertFalse(is_valid_sg_code(unicode_sg_code))