diff --git a/aidge_core/unit_tests/test_operator_binding.py b/aidge_core/unit_tests/test_operator_binding.py
new file mode 100644
index 0000000000000000000000000000000000000000..d095439d36ffa3f1370bfb8123b1edcaf7ea2be5
--- /dev/null
+++ b/aidge_core/unit_tests/test_operator_binding.py
@@ -0,0 +1,65 @@
+"""
+Copyright (c) 2023 CEA-List
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License 2.0 which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+"""
+
+import unittest
+import aidge_core
+
+class test_operator_binding(unittest.TestCase):
+    """Very basic test to make sure the python APi is not broken.
+    Can be remove in later stage of the developpement.
+    """
+    def setUp(self):
+        self.generic_operator = aidge_core.GenericOperator("FakeConv", 1, 1, 1).get_operator()
+
+    def tearDown(self):
+        pass
+
+    def test_default_name(self):
+        op_type = "Conv"
+        gop = aidge_core.GenericOperator(op_type, 1, 1, 1, "FictiveName")
+        # check node name is not operator type
+        self.assertNotEqual(gop.name(), "Conv")
+        # check node name is not default
+        self.assertNotEqual(gop.name(), "")
+
+    def test_param_bool(self):
+        self.generic_operator.add_parameter("bool", True)
+        self.assertEqual(self.generic_operator.get_parameter("bool"), True)
+
+    def test_param_int(self):
+        self.generic_operator.add_parameter("int", 1)
+        self.assertEqual(self.generic_operator.get_parameter("int"), 1)
+
+    def test_param_float(self):
+        self.generic_operator.add_parameter("float", 2.0)
+        self.assertEqual(self.generic_operator.get_parameter("float"), 2.0)
+
+    def test_param_str(self):
+        self.generic_operator.add_parameter("str", "value")
+        self.assertEqual(self.generic_operator.get_parameter("str"), "value")
+
+    def test_param_l_int(self):
+        self.generic_operator.add_parameter("l_int", [1,2,3])
+        self.assertEqual(self.generic_operator.get_parameter("l_int"), [1,2,3])
+
+    def test_param_l_bool(self):
+        self.generic_operator.add_parameter("l_bool", [True, False])
+        self.assertEqual(self.generic_operator.get_parameter("l_bool"), [True, False])
+
+    def test_param_l_float(self):
+        self.generic_operator.add_parameter("l_float", [2.0, 1.0])
+        self.assertEqual(self.generic_operator.get_parameter("l_float"), [2.0, 1.0])
+
+    def test_param_l_str(self):
+        self.generic_operator.add_parameter("l_str", ["ok"])
+        self.assertEqual(self.generic_operator.get_parameter("l_str"), ["ok"])
+
+if __name__ == '__main__':
+    unittest.main()
\ No newline at end of file
diff --git a/aidge_core/unit_tests/test_parameters.py b/aidge_core/unit_tests/test_parameters.py
new file mode 100644
index 0000000000000000000000000000000000000000..02c7598820d2429bc49ff9a2f02c8ee841783173
--- /dev/null
+++ b/aidge_core/unit_tests/test_parameters.py
@@ -0,0 +1,77 @@
+"""
+Copyright (c) 2023 CEA-List
+
+This program and the accompanying materials are made available under the
+terms of the Eclipse Public License 2.0 which is available at
+http://www.eclipse.org/legal/epl-2.0.
+
+SPDX-License-Identifier: EPL-2.0
+"""
+
+import unittest
+import aidge_core
+
+class test_parameters(unittest.TestCase):
+    """Very basic test to make sure the python APi is not broken.
+    Can be remove in later stage of the developpement.
+    """
+    def setUp(self):
+        pass
+
+    def tearDown(self):
+        pass
+
+    def test_conv(self):
+        # TODO : test StrideDims & DilationDims when supported in ctor
+        in_channels = 4
+        out_channels = 8
+        k_dims = [2, 2]
+        conv_op = aidge_core.Conv2D(in_channels , out_channels, k_dims).get_operator()
+        self.assertEqual(conv_op.get("InChannels"), in_channels)
+        self.assertEqual(conv_op.get("OutChannels"), out_channels)
+        self.assertEqual(conv_op.get("KernelDims"), k_dims)
+
+    def test_fc(self):
+        out_channels = 8
+        nb_bias = True
+        fc_op = aidge_core.FC(out_channels, nb_bias).get_operator()
+        self.assertEqual(fc_op.get("OutChannels"), out_channels)
+        self.assertEqual(fc_op.get("NoBias"), nb_bias)
+
+    def test_matmul(self):
+        out_channels = 8
+        matmul_op = aidge_core.Matmul(out_channels).get_operator()
+        self.assertEqual(matmul_op.get("OutChannels"), out_channels)
+
+    def test_producer_1D(self):
+        dims = [5]
+        producer_op = aidge_core.Producer(dims).get_operator()
+        self.assertEqual(producer_op.dims(), dims)
+
+    def test_producer_2D(self):
+        dims = [10,5]
+        producer_op = aidge_core.Producer(dims).get_operator()
+        self.assertEqual(producer_op.dims(), dims)
+
+    def test_producer_3D(self):
+        dims = [1,10,5]
+        producer_op = aidge_core.Producer(dims).get_operator()
+        self.assertEqual(producer_op.dims(), dims)
+
+    def test_producer_4D(self):
+        dims = [12,1,10,5]
+        producer_op = aidge_core.Producer(dims).get_operator()
+        self.assertEqual(producer_op.dims(), dims)
+
+    def test_producer_5D(self):
+        dims = [2,12,1,10,5]
+        producer_op = aidge_core.Producer(dims).get_operator()
+        self.assertEqual(producer_op.dims(), dims)
+
+    def test_leaky_relu(self):
+        negative_slope = 0.25
+        leakyrelu_op = aidge_core.LeakyReLU(negative_slope).get_operator()
+        self.assertEqual(leakyrelu_op.get("NegativeSlope"), negative_slope)
+
+if __name__ == '__main__':
+    unittest.main()