Esempio n. 1
0
  def testModel(self):
    """
    First create a GaussianKernel object, then send it back and make sure we get
    the right double value.
    """
    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 build_model=True)

    output2 = test_python_binding(string_in='hello',
                                  int_in=12,
                                  double_in=4.0,
                                  model_in=output['model_out'])

    self.assertEqual(output2['model_bw_out'], 20.0)
Esempio n. 2
0
  def testArraylikeUmatrix(self):
    """
    Test that we can pass an arraylike unsigned matrix.
    """
    x = [[1, 2, 3, 4, 5],
         [6, 7, 8, 9, 10],
         [11, 12, 13, 14, 15]]

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 umatrix_in=x)

    self.assertEqual(output['umatrix_out'].shape[0], 3)
    self.assertEqual(output['umatrix_out'].shape[1], 4)
    self.assertEqual(output['umatrix_out'].dtype, np.long)
    self.assertEqual(output['umatrix_out'][0, 0], 1)
    self.assertEqual(output['umatrix_out'][0, 1], 2)
    self.assertEqual(output['umatrix_out'][0, 2], 6)
    self.assertEqual(output['umatrix_out'][0, 3], 4)
    self.assertEqual(output['umatrix_out'][1, 0], 6)
    self.assertEqual(output['umatrix_out'][1, 1], 7)
    self.assertEqual(output['umatrix_out'][1, 2], 16)
    self.assertEqual(output['umatrix_out'][1, 3], 9)
    self.assertEqual(output['umatrix_out'][2, 0], 11)
    self.assertEqual(output['umatrix_out'][2, 1], 12)
    self.assertEqual(output['umatrix_out'][2, 2], 26)
    self.assertEqual(output['umatrix_out'][2, 3], 14)
Esempio n. 3
0
  def testRunBindingWrongInt(self):
    """
    If we give the wrong int, we should get wrong results.
    """
    output = test_python_binding(string_in='hello',
                                 int_in=15,
                                 double_in=4.0,
                                 flag1=True)

    self.assertNotEqual(output['int_out'], 13)
Esempio n. 4
0
  def testRunBindingWrongDouble(self):
    """
    If we give the wrong double, we should get wrong results.
    """
    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=2.0,
                                 flag1=True)

    self.assertNotEqual(output['double_out'], 5.0)
Esempio n. 5
0
  def testRunBindingWrongString(self):
    """
    If we give the wrong string, we should get wrong results.
    """
    output = test_python_binding(string_in='goodbye',
                                 int_in=12,
                                 double_in=4.0,
                                 flag1=True)

    self.assertNotEqual(output['string_out'], 'hello2')
Esempio n. 6
0
  def testRunBindingNoFlag(self):
    """
    If we forget the mandatory flag, we should get wrong results.
    """
    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0)

    self.assertNotEqual(output['string_out'], 'hello2')
    self.assertNotEqual(output['int_out'], 13)
    self.assertNotEqual(output['double_out'], 5.0)
Esempio n. 7
0
  def testRunBadFlag(self):
    """
    If we give the second flag, this should fail.
    """
    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 flag1=True,
                                 flag2=True)

    self.assertNotEqual(output['string_out'], 'hello2')
    self.assertNotEqual(output['int_out'], 13)
    self.assertNotEqual(output['double_out'], 5.0)
Esempio n. 8
0
  def testIntVector(self):
    """
    Test that we can pass a vector of ints and get back that same vector but
    with the last element removed.
    """
    x = [1, 2, 3, 4, 5]

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 vector_in=x)

    self.assertEqual(output['vector_out'], [1, 2, 3, 4])
Esempio n. 9
0
  def testRunBindingCorrectly(self):
    """
    Test that when we run the binding correctly (with correct input parameters),
    we get the expected output.
    """
    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 flag1=True)

    self.assertEqual(output['string_out'], 'hello2')
    self.assertEqual(output['int_out'], 13)
    self.assertEqual(output['double_out'], 5.0)
Esempio n. 10
0
  def testStringVector(self):
    """
    Test that we can pass a vector of strings and get back that same vector but
    with the last element removed.
    """
    x = ['one', 'two', 'three', 'four', 'five']

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 str_vector_in=x)

    self.assertEqual(output['str_vector_out'],
        ['one', 'two', 'three', 'four'])
Esempio n. 11
0
  def testUcol(self):
    """
    Test an unsigned column vector input parameter.
    """
    x = np.random.randint(0, high=500, size=100)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 ucol_in=x)

    self.assertEqual(output['ucol_out'].shape[0], 100)
    self.assertEqual(output['ucol_out'].dtype, np.long)
    for i in range(100):
      self.assertEqual(output['ucol_out'][i], x[i] * 2)
Esempio n. 12
0
    def testOneDimensionMatrixAndInfoPandasForceCopy(self):
        """
    Test that we can pass a one dimension matrix with some categorical features.
    """
        x = pd.DataFrame(np.random.rand(10))

        output = test_python_binding(string_in='hello',
                                     int_in=12,
                                     double_in=4.0,
                                     matrix_and_info_in=x[0],
                                     copy_all_inputs=True)

        self.assertEqual(output['matrix_and_info_out'].shape[0], 10)

        for j in range(10):
            self.assertEqual(output['matrix_and_info_out'][j, 0], x[0][j] * 2)
Esempio n. 13
0
    def testUcol(self):
        """
    Test an unsigned column vector input parameter.
    """
        x = np.random.randint(0, high=500, size=100)
        z = copy.deepcopy(x)

        output = test_python_binding(string_in='hello',
                                     int_in=12,
                                     double_in=4.0,
                                     ucol_in=z)

        self.assertEqual(output['ucol_out'].shape[0], 100)
        self.assertEqual(output['ucol_out'].dtype, np.long)
        for i in range(100):
            self.assertEqual(output['ucol_out'][i], x[i] * 2)
Esempio n. 14
0
  def testOneDimensionMatrixAndInfoPandas(self):
    """
    Test that we can pass a one dimension matrix with some categorical features.
    """
    x = pd.DataFrame(np.random.rand(10))
    z = copy.copy(x)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 matrix_and_info_in=z[0])

    self.assertEqual(output['matrix_and_info_out'].shape[0], 10)

    for i in range(10):
        self.assertEqual(output['matrix_and_info_out'][i, 0], z[0][i] * 2)
Esempio n. 15
0
  def testRow(self):
    """
    Test a row vector input parameter.
    """
    x = np.random.rand(100)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 row_in=x)

    self.assertEqual(output['row_out'].shape[0], 100)
    self.assertEqual(output['row_out'].dtype, np.double)

    for i in range(100):
      self.assertEqual(output['row_out'][i], x[i] * 2)
Esempio n. 16
0
    def testTwoDimensionUcolForceCopy(self):
        """
    Test that we pass Two Dimension unsigned column vector input parameter.
    """
        x = np.random.randint(0, high=500, size=[100, 1])

        output = test_python_binding(string_in='hello',
                                     int_in=12,
                                     double_in=4.0,
                                     ucol_in=x,
                                     copy_all_inputs=True)

        self.assertEqual(output['ucol_out'].shape[0], 100)
        self.assertEqual(output['ucol_out'].dtype, np.long)
        for i in range(100):
            self.assertEqual(output['ucol_out'][i], x[i] * 2)
Esempio n. 17
0
    def testRow(self):
        """
    Test a row vector input parameter.
    """
        x = np.random.rand(100)

        output = test_python_binding(string_in='hello',
                                     int_in=12,
                                     double_in=4.0,
                                     row_in=x)

        self.assertEqual(output['row_out'].shape[0], 100)
        self.assertEqual(output['row_out'].dtype, np.double)

        for i in range(100):
            self.assertEqual(output['row_out'][i], x[i] * 2)
Esempio n. 18
0
    def testUrow(self):
        """
    Test an unsigned row vector input parameter.
    """
        x = np.random.randint(0, high=500, size=100)

        output = test_python_binding(string_in='hello',
                                     int_in=12,
                                     double_in=4.0,
                                     urow_in=x)

        self.assertEqual(output['urow_out'].shape[0], 100)
        self.assertEqual(output['urow_out'].dtype, np.long)

        for i in range(100):
            self.assertEqual(output['urow_out'][i], x[i] * 2)
Esempio n. 19
0
  def testOneDimensionNumpymatrixForceCopy(self):
    """
    Test that we can pass one dimension matrix from matrix_in
    """
    x = np.random.rand(100)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 smatrix_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['smatrix_out'].shape[0], 100)
    self.assertEqual(output['smatrix_out'].dtype, np.double)

    for i in range(100):
      self.assertEqual(output['smatrix_out'][i, 0], x[i] * 2)
Esempio n. 20
0
  def testPandasSeriesMatrix(self):
    """
    Test that we can pass pandas.Series as input parameter.
    """
    x = pd.Series(np.random.rand(100))
    z = copy.copy(x)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 smatrix_in=z)

    self.assertEqual(output['smatrix_out'].shape[0], 100)
    self.assertEqual(output['smatrix_out'].dtype, np.double)

    for i in range(100):
      self.assertEqual(output['smatrix_out'][i,0], z.iloc[i] * 2)
Esempio n. 21
0
  def testPandasSeriesUMatrixForceCopy(self):
    """
    Test that we can pass pandas.Series as input parameter.
    """
    x = pd.Series(np.random.randint(0, high=500, size=100))

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 s_umatrix_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['s_umatrix_out'].shape[0], 100)
    self.assertEqual(output['s_umatrix_out'].dtype, np.long)

    for i in range(100):
      self.assertEqual(output['s_umatrix_out'][i, 0], x.iloc[i] * 2)
Esempio n. 22
0
  def testPandasSeriesForceCopy(self):
    """
    Test a Pandas Series input paramter
    """
    x =  pd.Series(np.random.rand(100))

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 col_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['col_out'].shape[0], 100)
    self.assertEqual(output['col_out'].dtype, np.double)

    for i in range(100):
      self.assertEqual(output['col_out'][i], x[i] * 2)
Esempio n. 23
0
  def testTwoDimensionUrowForceCopy(self):
    """
    Test an unsigned two dimensional row vector input parameter.
    """
    x = np.random.randint(5, high=500, size=[1, 101])

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 urow_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['urow_out'].shape[0], 101)
    self.assertEqual(output['urow_out'].dtype, np.long)

    for i in range(101):
      self.assertEqual(output['urow_out'][i], x[0][i] * 2)
Esempio n. 24
0
  def testTwoDimensionColForceCopy(self):
    """
    Test that we pass Two Dimension column vetor as input paramter
    """
    x = np.random.rand(100,1)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 col_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['col_out'].shape[0], 100)
    self.assertEqual(output['col_out'].dtype, np.double)

    for i in range(100):
      self.assertEqual(output['col_out'][i], x[i] * 2)
Esempio n. 25
0
    def testTwoDimensionUrow(self):
        """
    Test an unsigned two dimensional row vector input parameter.
    """
        x = np.random.randint(0, high=500, size=[100, 1])
        z = copy.deepcopy(x)

        output = test_python_binding(string_in='hello',
                                     int_in=12,
                                     double_in=4.0,
                                     urow_in=z)

        self.assertEqual(output['urow_out'].shape[0], 100)
        self.assertEqual(output['urow_out'].dtype, np.long)

        for i in range(100):
            self.assertEqual(output['urow_out'][i], x[i] * 2)
Esempio n. 26
0
  def testMatrixAndInfoNumpy(self):
    """
    Test that we can pass a matrix with all numeric features.
    """
    x = np.random.rand(100, 10)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 matrix_and_info_in=x)

    self.assertEqual(output['matrix_and_info_out'].shape[0], 100)
    self.assertEqual(output['matrix_and_info_out'].shape[1], 10)

    for i in range(10):
      for j in range(100):
        self.assertEqual(output['matrix_and_info_out'][j, i], x[j, i] * 2.0)
Esempio n. 27
0
  def testTwoDimensionRowForceCopy(self):
    """
    Test a two dimensional row vector input parameter.
    """
    x = np.random.rand(100,1)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 row_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['row_out'].shape[0], 100)
    self.assertEqual(output['row_out'].dtype, np.double)

    for i in range(100):
      self.assertEqual(output['row_out'][i], x[i] * 2)
Esempio n. 28
0
  def testOneDimensionNumpyUmatrixForceCopy(self):
    """
    Same as testNumpyMatrix() but with an unsigned matrix and One Dimension Matrix.
    """
    x = np.random.randint(0, high=500, size=100)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 s_umatrix_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['s_umatrix_out'].shape[0], 100)
    self.assertEqual(output['s_umatrix_out'].dtype, np.long)

    for i in range(100):
      self.assertEqual(output['s_umatrix_out'][i, 0], x[i] * 2)
Esempio n. 29
0
    def testColForceCopy(self):
        """
    Test a column vector input parameter.
    """
        x = np.random.rand(100)

        output = test_python_binding(string_in='hello',
                                     int_in=12,
                                     double_in=4.0,
                                     col_in=x,
                                     copy_all_inputs=True)

        self.assertEqual(output['col_out'].shape[0], 100)
        self.assertEqual(output['col_out'].dtype, np.double)

        for i in range(100):
            self.assertEqual(output['col_out'][i], x[i] * 2)
Esempio n. 30
0
  def testMatrixAndInfoNumpyForceCopy(self):
    """
    Test that we can pass a matrix with all numeric features.
    """
    x = np.random.rand(100, 10)

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 matrix_and_info_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['matrix_and_info_out'].shape[0], 100)
    self.assertEqual(output['matrix_and_info_out'].shape[1], 10)

    for i in range(10):
      for j in range(100):
        self.assertEqual(output['matrix_and_info_out'][j, i], x[j, i] * 2.0)
Esempio n. 31
0
    def testNumpyUmatrix(self):
        """
    Same as testNumpyMatrix() but with an unsigned matrix.
    """
        x = np.random.randint(0, high=500, size=[100, 5])

        output = test_python_binding(string_in='hello',
                                     int_in=12,
                                     double_in=4.0,
                                     umatrix_in=x)

        self.assertEqual(output['umatrix_out'].shape[0], 100)
        self.assertEqual(output['umatrix_out'].shape[1], 4)
        self.assertEqual(output['umatrix_out'].dtype, np.long)
        for i in [0, 1, 3]:
            for j in range(100):
                self.assertEqual(x[j, i], output['umatrix_out'][j, i])

        for j in range(100):
            self.assertEqual(2 * x[j, 2], output['umatrix_out'][j, 2])
Esempio n. 32
0
  def testNumpyUmatrix(self):
    """
    Same as testNumpyMatrix() but with an unsigned matrix.
    """
    x = np.random.randint(0, high=500, size=[100, 5])

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 umatrix_in=x)

    self.assertEqual(output['umatrix_out'].shape[0], 100)
    self.assertEqual(output['umatrix_out'].shape[1], 4)
    self.assertEqual(output['umatrix_out'].dtype, np.long)
    for i in [0, 1, 3]:
      for j in range(100):
        self.assertEqual(x[j, i], output['umatrix_out'][j, i])

    for j in range(100):
      self.assertEqual(2 * x[j, 2], output['umatrix_out'][j, 2])
Esempio n. 33
0
  def testNumpyMatrix(self):
    """
    The matrix we pass in, we should get back with the third dimension doubled
    and the fifth forgotten.
    """
    x = np.random.rand(100, 5);

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 matrix_in=x)

    self.assertEqual(output['matrix_out'].shape[0], 100)
    self.assertEqual(output['matrix_out'].shape[1], 4)
    self.assertEqual(output['matrix_out'].dtype, np.double)
    for i in [0, 1, 3]:
      for j in range(100):
        self.assertEqual(x[j, i], output['matrix_out'][j, i])

    for j in range(100):
      self.assertEqual(2 * x[j, 2], output['matrix_out'][j, 2])
Esempio n. 34
0
    def testNumpyMatrix(self):
        """
    The matrix we pass in, we should get back with the third dimension doubled
    and the fifth forgotten.
    """
        x = np.random.rand(100, 5)

        output = test_python_binding(string_in='hello',
                                     int_in=12,
                                     double_in=4.0,
                                     matrix_in=x)

        self.assertEqual(output['matrix_out'].shape[0], 100)
        self.assertEqual(output['matrix_out'].shape[1], 4)
        self.assertEqual(output['matrix_out'].dtype, np.double)
        for i in [0, 1, 3]:
            for j in range(100):
                self.assertEqual(x[j, i], output['matrix_out'][j, i])

        for j in range(100):
            self.assertEqual(2 * x[j, 2], output['matrix_out'][j, 2])
Esempio n. 35
0
  def testNumpyFContiguousMatrixForceCopy(self):
    """
    The matrix with F_CONTIGUOUS set we pass in, we should get back with the third
    dimension doubled and the fifth forgotten.
    """
    x = np.array(np.random.rand(100, 5), order='F');

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 matrix_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['matrix_out'].shape[0], 100)
    self.assertEqual(output['matrix_out'].shape[1], 4)
    self.assertEqual(output['matrix_out'].dtype, np.double)
    for i in [0, 1, 3]:
      for j in range(100):
        self.assertEqual(x[j, i], output['matrix_out'][j, i])

    for j in range(100):
      self.assertEqual(2 * x[j, 2], output['matrix_out'][j, 2])
Esempio n. 36
0
  def testPandasDataFrameMatrixForceCopy(self):
    """
    The matrix we pass in, we should get back with the third dimension doubled
    and the fifth forgotten.
    """
    x = pd.DataFrame(np.random.rand(100, 5))

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 matrix_in=x,
                                 copy_all_inputs=True)

    self.assertEqual(output['matrix_out'].shape[0], 100)
    self.assertEqual(output['matrix_out'].shape[1], 4)
    self.assertEqual(output['matrix_out'].dtype, np.double)
    for i in [0, 1, 3]:
      for j in range(100):
        self.assertEqual(x.iloc[j, i], output['matrix_out'][j, i])

    for j in range(100):
      self.assertEqual(2 * x.iloc[j, 2], output['matrix_out'][j, 2])
Esempio n. 37
0
  def testMatrixAndInfoPandas(self):
    """
    Test that we can pass a matrix with some categorical features.
    """
    x = pd.DataFrame(np.random.rand(10, 4), columns=list('abcd'))
    x['e'] = pd.Series(['a', 'b', 'c', 'd', 'a', 'b', 'e', 'c', 'a', 'b'],
        dtype='category')

    output = test_python_binding(string_in='hello',
                                 int_in=12,
                                 double_in=4.0,
                                 matrix_and_info_in=x)

    self.assertEqual(output['matrix_and_info_out'].shape[0], 10)
    self.assertEqual(output['matrix_and_info_out'].shape[1], 5)

    cols = list('abcde')

    for i in range(4):
      for j in range(10):
        self.assertEqual(output['matrix_and_info_out'][j, i], x[cols[i]][j] * 2)

    for j in range(10):
      self.assertEqual(output['matrix_and_info_out'][j, 4], x[cols[4]][j])
Esempio n. 38
0
  def testThrownException(self):

    """
    Test that we pass wrong type and get back TypeError
    """
    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in=10,
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=10.0,
                                                   double_in=4.0,
                                                   flag1=True))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in='bad',
                                                   flag1=True))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   flag2=10))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   matrix_in= 10.0))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   matrix_in= 1))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   matrix_and_info_in = 10.0))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   copy_all_inputs = 10.0))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   col_in = 10))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   row_in = 10.0))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   str_vector_in = 'bad'))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   urow_in = 10.0))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   ucol_in = 10.0))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   umatrix_in = 10.0))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   verbose = 10))

    self.assertRaises(TypeError,
                      lambda : test_python_binding(string_in='hello',
                                                   int_in=12,
                                                   double_in=4.0,
                                                   flag1=True,
                                                   vector_in = 10.0))