Repository: CodeToCAD/CodeToCAD (language: python)

Issue:
replace importlib find_loader with util.find_spec and validate that we still need it
`codetocad/__init__.py` uses `importlib.find_loader` to detect if it's running in blender. With the changes made in #252, this command is/will probably always fail. We should change find_loader to util.find_spec and update the module name, because "blender_provider" will never exist after #252


Discussion / hints:

Fix patch:
diff --git a/codetocad/__init__.py b/codetocad/__init__.py
index 673b04b1..a4f20879 100644
--- a/codetocad/__init__.py
+++ b/codetocad/__init__.py
@@ -2,9 +2,8 @@
 from codetocad.codetocad_types import *
 from codetocad.interfaces import *
 
-from importlib import find_loader
+from pathlib import Path
 
-if find_loader("blender_provider"):
-    from blender_provider import *
-else:
+if not Path("./providers").exists():
+    # When this python library is bundled, use the providers_sample if the "providers" directory is not copied.
     from codetocad.providers_sample import *


Test patch:
diff --git a/codetocad/tests_interfaces/analytics_test_interface.py b/codetocad/tests_interfaces/analytics_test_interface.py
index d0515931..d2de1c68 100644
--- a/codetocad/tests_interfaces/analytics_test_interface.py
+++ b/codetocad/tests_interfaces/analytics_test_interface.py
@@ -7,54 +7,27 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Analytics
-
-
 class AnalyticsTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_measure_distance(self):
-        instance = Analytics()
-
-        value = instance.measure_distance("entity1", "entity2")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_measure_angle(self):
-        instance = Analytics()
-
-        value = instance.measure_angle("entity1", "entity2", "pivot")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_world_pose(self):
-        instance = Analytics()
-
-        value = instance.get_world_pose("entity")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_bounding_box(self):
-        instance = Analytics()
-
-        value = instance.get_bounding_box("entity_name")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_dimensions(self):
-        instance = Analytics()
-
-        value = instance.get_dimensions("entity_name")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_log(self):
-        instance = Analytics()
-
-        value = instance.log("message")
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/animation_test_interface.py b/codetocad/tests_interfaces/animation_test_interface.py
index 75341fe5..583cb4da 100644
--- a/codetocad/tests_interfaces/animation_test_interface.py
+++ b/codetocad/tests_interfaces/animation_test_interface.py
@@ -7,46 +7,23 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Animation
-
-
 class AnimationTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_set_frame_start(self):
-        instance = Animation()
-
-        value = instance.set_frame_start("frame_number")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_frame_end(self):
-        instance = Animation()
-
-        value = instance.set_frame_end("frame_number")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_frame_current(self):
-        instance = Animation()
-
-        value = instance.set_frame_current("frame_number")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_create_key_frame_location(self):
-        instance = Animation()
-
-        value = instance.create_key_frame_location("entity", "frame_number")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_create_key_frame_rotation(self):
-        instance = Animation()
-
-        value = instance.create_key_frame_rotation("entity", "frame_number")
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/camera_test_interface.py b/codetocad/tests_interfaces/camera_test_interface.py
index b55e400e..7b0b30ab 100644
--- a/codetocad/tests_interfaces/camera_test_interface.py
+++ b/codetocad/tests_interfaces/camera_test_interface.py
@@ -7,30 +7,15 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Camera
-
-
 class CameraTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_create_perspective(self):
-        instance = Camera()
-
-        value = instance.create_perspective("")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_orthogonal(self):
-        instance = Camera()
-
-        value = instance.create_orthogonal("")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_set_focal_length(self):
-        instance = Camera()
-
-        value = instance.set_focal_length("length")
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/edge_test_interface.py b/codetocad/tests_interfaces/edge_test_interface.py
index 92d85e7c..8db12924 100644
--- a/codetocad/tests_interfaces/edge_test_interface.py
+++ b/codetocad/tests_interfaces/edge_test_interface.py
@@ -7,52 +7,19 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Edge
-
-
-from codetocad.tests_interfaces import (
-    MirrorableTestInterface,
-    PatternableTestInterface,
-    SubdividableTestInterface,
-    ProjectableTestInterface,
-)
-
-
-class EdgeTestInterface(
-    MirrorableTestInterface,
-    PatternableTestInterface,
-    SubdividableTestInterface,
-    ProjectableTestInterface,
-    metaclass=ABCMeta,
-):
+class EdgeTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_offset(self):
-        instance = Edge()
-
-        value = instance.offset("distance")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_fillet(self):
-        instance = Edge()
-
-        value = instance.fillet("other_edge", "amount")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_is_construction(self):
-        instance = Edge()
-
-        value = instance.set_is_construction("is_construction")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_get_is_construction(self):
-        instance = Edge()
-
-        value = instance.get_is_construction("")
-
-        assert value, "Get method failed."
+        pass
diff --git a/codetocad/tests_interfaces/entity_test_interface.py b/codetocad/tests_interfaces/entity_test_interface.py
index 94bfb29c..085ef4ee 100644
--- a/codetocad/tests_interfaces/entity_test_interface.py
+++ b/codetocad/tests_interfaces/entity_test_interface.py
@@ -7,176 +7,91 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Entity
-
-
 class EntityTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_is_exists(self):
-        instance = Entity()
-
-        value = instance.is_exists("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_rename(self):
-        instance = Entity()
-
-        value = instance.rename("new_name", "renamelinked_entities_and_landmarks")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_delete(self):
-        instance = Entity()
-
-        value = instance.delete("remove_children")
+        pass
 
     @abstractmethod
     def test_is_visible(self):
-        instance = Entity()
-
-        value = instance.is_visible("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_set_visible(self):
-        instance = Entity()
-
-        value = instance.set_visible("is_visible")
+        pass
 
     @abstractmethod
     def test_apply(self):
-        instance = Entity()
-
-        value = instance.apply("rotation", "scale", "location", "modifiers")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_get_native_instance(self):
-        instance = Entity()
-
-        value = instance.get_native_instance("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_location_world(self):
-        instance = Entity()
-
-        value = instance.get_location_world("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_location_local(self):
-        instance = Entity()
-
-        value = instance.get_location_local("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_select(self):
-        instance = Entity()
-
-        value = instance.select("")
+        pass
 
     @abstractmethod
     def test_translate_xyz(self):
-        instance = Entity()
-
-        value = instance.translate_xyz("x", "y", "z")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_translate_x(self):
-        instance = Entity()
-
-        value = instance.translate_x("amount")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_translate_y(self):
-        instance = Entity()
-
-        value = instance.translate_y("amount")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_translate_z(self):
-        instance = Entity()
-
-        value = instance.translate_z("amount")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_rotate_xyz(self):
-        instance = Entity()
-
-        value = instance.rotate_xyz("x", "y", "z")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_rotate_x(self):
-        instance = Entity()
-
-        value = instance.rotate_x("rotation")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_rotate_y(self):
-        instance = Entity()
-
-        value = instance.rotate_y("rotation")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_rotate_z(self):
-        instance = Entity()
-
-        value = instance.rotate_z("rotation")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_get_bounding_box(self):
-        instance = Entity()
-
-        value = instance.get_bounding_box("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_dimensions(self):
-        instance = Entity()
-
-        value = instance.get_dimensions("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_landmark(self):
-        instance = Entity()
-
-        value = instance.create_landmark("landmark_name", "x", "y", "z")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_landmark(self):
-        instance = Entity()
-
-        value = instance.get_landmark("landmark_name")
-
-        assert value, "Get method failed."
+        pass
diff --git a/codetocad/tests_interfaces/exportable_test_interface.py b/codetocad/tests_interfaces/exportable_test_interface.py
index 65193e4b..97e3e7dd 100644
--- a/codetocad/tests_interfaces/exportable_test_interface.py
+++ b/codetocad/tests_interfaces/exportable_test_interface.py
@@ -10,6 +10,4 @@
 class ExportableTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_export(self):
-        instance = Exportable()
-
-        value = instance.export("file_path", "overwrite", "scale")
+        pass
diff --git a/codetocad/tests_interfaces/importable_test_interface.py b/codetocad/tests_interfaces/importable_test_interface.py
index 7c58937a..ce435df1 100644
--- a/codetocad/tests_interfaces/importable_test_interface.py
+++ b/codetocad/tests_interfaces/importable_test_interface.py
@@ -10,8 +10,4 @@
 class ImportableTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_create_from_file(self):
-        instance = Importable()
-
-        value = instance.create_from_file("file_path", "file_type")
-
-        assert value.is_exists(), "Create method failed."
+        pass
diff --git a/codetocad/tests_interfaces/joint_test_interface.py b/codetocad/tests_interfaces/joint_test_interface.py
index 14f35a06..61bff78a 100644
--- a/codetocad/tests_interfaces/joint_test_interface.py
+++ b/codetocad/tests_interfaces/joint_test_interface.py
@@ -7,94 +7,47 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Joint
-
-
 class JointTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_translate_landmark_onto_another(self):
-        instance = Joint()
-
-        value = instance.translate_landmark_onto_another("")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_pivot(self):
-        instance = Joint()
-
-        value = instance.pivot("")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_gear_ratio(self):
-        instance = Joint()
-
-        value = instance.gear_ratio("ratio")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_limit_location_xyz(self):
-        instance = Joint()
-
-        value = instance.limit_location_xyz("x", "y", "z")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_limit_location_x(self):
-        instance = Joint()
-
-        value = instance.limit_location_x("min", "max")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_limit_location_y(self):
-        instance = Joint()
-
-        value = instance.limit_location_y("min", "max")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_limit_location_z(self):
-        instance = Joint()
-
-        value = instance.limit_location_z("min", "max")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_limit_rotation_xyz(self):
-        instance = Joint()
-
-        value = instance.limit_rotation_xyz("x", "y", "z")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_limit_rotation_x(self):
-        instance = Joint()
-
-        value = instance.limit_rotation_x("min", "max")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_limit_rotation_y(self):
-        instance = Joint()
-
-        value = instance.limit_rotation_y("min", "max")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_limit_rotation_z(self):
-        instance = Joint()
-
-        value = instance.limit_rotation_z("min", "max")
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/landmark_test_interface.py b/codetocad/tests_interfaces/landmark_test_interface.py
index 77c04bba..14662893 100644
--- a/codetocad/tests_interfaces/landmark_test_interface.py
+++ b/codetocad/tests_interfaces/landmark_test_interface.py
@@ -7,30 +7,15 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Landmark
-
-
 class LandmarkTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_clone(self):
-        instance = Landmark()
-
-        value = instance.clone("new_name", "offset", "new_parent")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_landmark_entity_name(self):
-        instance = Landmark()
-
-        value = instance.get_landmark_entity_name("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_parent_entity(self):
-        instance = Landmark()
-
-        value = instance.get_parent_entity("")
-
-        assert value, "Get method failed."
+        pass
diff --git a/codetocad/tests_interfaces/light_test_interface.py b/codetocad/tests_interfaces/light_test_interface.py
index 912c09ca..c99fab06 100644
--- a/codetocad/tests_interfaces/light_test_interface.py
+++ b/codetocad/tests_interfaces/light_test_interface.py
@@ -7,46 +7,23 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Light
-
-
 class LightTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_set_color(self):
-        instance = Light()
-
-        value = instance.set_color("r_value", "g_value", "b_value")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_create_sun(self):
-        instance = Light()
-
-        value = instance.create_sun("energy_level")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_spot(self):
-        instance = Light()
-
-        value = instance.create_spot("energy_level")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_point(self):
-        instance = Light()
-
-        value = instance.create_point("energy_level")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_area(self):
-        instance = Light()
-
-        value = instance.create_area("energy_level")
-
-        assert value.is_exists(), "Create method failed."
+        pass
diff --git a/codetocad/tests_interfaces/material_test_interface.py b/codetocad/tests_interfaces/material_test_interface.py
index f40692ea..c20c1696 100644
--- a/codetocad/tests_interfaces/material_test_interface.py
+++ b/codetocad/tests_interfaces/material_test_interface.py
@@ -7,54 +7,27 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Material
-
-
 class MaterialTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_get_preset(self):
-        instance = Material()
-
-        value = instance.get_preset("parameter")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_assign_to_part(self):
-        instance = Material()
-
-        value = instance.assign_to_part("part_name_or_instance")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_color(self):
-        instance = Material()
-
-        value = instance.set_color("r_value", "g_value", "b_value", "a_value")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_reflectivity(self):
-        instance = Material()
-
-        value = instance.set_reflectivity("reflectivity")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_roughness(self):
-        instance = Material()
-
-        value = instance.set_roughness("roughness")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_image_texture(self):
-        instance = Material()
-
-        value = instance.set_image_texture("image_file_path")
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/mirrorable_test_interface.py b/codetocad/tests_interfaces/mirrorable_test_interface.py
index ff52b3ee..8ccf720d 100644
--- a/codetocad/tests_interfaces/mirrorable_test_interface.py
+++ b/codetocad/tests_interfaces/mirrorable_test_interface.py
@@ -10,10 +10,4 @@
 class MirrorableTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_mirror(self):
-        instance = Mirrorable()
-
-        value = instance.mirror(
-            "mirror_across_entity", "axis", "resulting_mirrored_entity_name"
-        )
-
-        assert value.is_exists(), "Create method failed."
+        pass
diff --git a/codetocad/tests_interfaces/part_test_interface.py b/codetocad/tests_interfaces/part_test_interface.py
index 5cbb3820..1eb2c05b 100644
--- a/codetocad/tests_interfaces/part_test_interface.py
+++ b/codetocad/tests_interfaces/part_test_interface.py
@@ -7,264 +7,103 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Part
-
-
-from codetocad.tests_interfaces import (
-    MirrorableTestInterface,
-    PatternableTestInterface,
-    SubdividableTestInterface,
-    ImportableTestInterface,
-    ExportableTestInterface,
-    ScalableTestInterface,
-)
-
-
-class PartTestInterface(
-    MirrorableTestInterface,
-    PatternableTestInterface,
-    SubdividableTestInterface,
-    ImportableTestInterface,
-    ExportableTestInterface,
-    ScalableTestInterface,
-    metaclass=ABCMeta,
-):
+class PartTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_create_cube(self):
-        instance = Part()
-
-        value = instance.create_cube("width", "length", "height", "keyword_arguments")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_cone(self):
-        instance = Part()
-
-        value = instance.create_cone(
-            "radius", "height", "draft_radius", "keyword_arguments"
-        )
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_cylinder(self):
-        instance = Part()
-
-        value = instance.create_cylinder("radius", "height", "keyword_arguments")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_torus(self):
-        instance = Part()
-
-        value = instance.create_torus(
-            "inner_radius", "outer_radius", "keyword_arguments"
-        )
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_sphere(self):
-        instance = Part()
-
-        value = instance.create_sphere("radius", "keyword_arguments")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_gear(self):
-        instance = Part()
-
-        value = instance.create_gear(
-            "outer_radius",
-            "addendum",
-            "inner_radius",
-            "dedendum",
-            "height",
-            "pressure_angle",
-            "number_of_teeth",
-            "skew_angle",
-            "conical_angle",
-            "crown_angle",
-            "keyword_arguments",
-        )
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_clone(self):
-        instance = Part()
-
-        value = instance.clone("new_name", "copy_landmarks")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_union(self):
-        instance = Part()
-
-        value = instance.union(
-            "with_part", "delete_after_union", "is_transfer_landmarks"
-        )
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_subtract(self):
-        instance = Part()
-
-        value = instance.subtract(
-            "with_part", "delete_after_subtract", "is_transfer_landmarks"
-        )
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_intersect(self):
-        instance = Part()
-
-        value = instance.intersect(
-            "with_part", "delete_after_intersect", "is_transfer_landmarks"
-        )
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_hollow(self):
-        instance = Part()
-
-        value = instance.hollow(
-            "thickness_x", "thickness_y", "thickness_z", "start_axis", "flip_axis"
-        )
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_thicken(self):
-        instance = Part()
-
-        value = instance.thicken("radius")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_hole(self):
-        instance = Part()
-
-        value = instance.hole(
-            "hole_landmark",
-            "radius",
-            "depth",
-            "normal_axis",
-            "flip_axis",
-            "initial_rotation_x",
-            "initial_rotation_y",
-            "initial_rotation_z",
-            "mirror_about_entity_or_landmark",
-            "mirror_axis",
-            "mirror",
-            "circular_pattern_instance_count",
-            "circular_pattern_instance_separation",
-            "circular_pattern_instance_axis",
-            "circular_pattern_about_entity_or_landmark",
-            "linear_pattern_instance_count",
-            "linear_pattern_instance_separation",
-            "linear_pattern_instance_axis",
-            "linear_pattern2nd_instance_count",
-            "linear_pattern2nd_instance_separation",
-            "linear_pattern2nd_instance_axis",
-        )
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_twist(self):
-        instance = Part()
-
-        value = instance.twist("angle", "screw_pitch", "iterations", "axis")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_material(self):
-        instance = Part()
-
-        value = instance.set_material("material_name")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_is_colliding_with_part(self):
-        instance = Part()
-
-        value = instance.is_colliding_with_part("other_part")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_fillet_all_edges(self):
-        instance = Part()
-
-        value = instance.fillet_all_edges("radius", "use_width")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_fillet_edges(self):
-        instance = Part()
-
-        value = instance.fillet_edges("radius", "landmarks_near_edges", "use_width")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_fillet_faces(self):
-        instance = Part()
-
-        value = instance.fillet_faces("radius", "landmarks_near_faces", "use_width")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_chamfer_all_edges(self):
-        instance = Part()
-
-        value = instance.chamfer_all_edges("radius")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_chamfer_edges(self):
-        instance = Part()
-
-        value = instance.chamfer_edges("radius", "landmarks_near_edges")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_chamfer_faces(self):
-        instance = Part()
-
-        value = instance.chamfer_faces("radius", "landmarks_near_faces")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_select_vertex_near_landmark(self):
-        instance = Part()
-
-        value = instance.select_vertex_near_landmark("landmark_name")
+        pass
 
     @abstractmethod
     def test_select_edge_near_landmark(self):
-        instance = Part()
-
-        value = instance.select_edge_near_landmark("landmark_name")
+        pass
 
     @abstractmethod
     def test_select_face_near_landmark(self):
-        instance = Part()
-
-        value = instance.select_face_near_landmark("landmark_name")
+        pass
diff --git a/codetocad/tests_interfaces/patternable_test_interface.py b/codetocad/tests_interfaces/patternable_test_interface.py
index 6d6c5e62..ff718692 100644
--- a/codetocad/tests_interfaces/patternable_test_interface.py
+++ b/codetocad/tests_interfaces/patternable_test_interface.py
@@ -10,21 +10,8 @@
 class PatternableTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_linear_pattern(self):
-        instance = Patternable()
-
-        value = instance.linear_pattern("instance_count", "offset", "direction_axis")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_circular_pattern(self):
-        instance = Patternable()
-
-        value = instance.circular_pattern(
-            "instance_count",
-            "separation_angle",
-            "center_entity_or_landmark",
-            "normal_direction_axis",
-        )
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/projectable_test_interface.py b/codetocad/tests_interfaces/projectable_test_interface.py
index 2eca34ea..7810e523 100644
--- a/codetocad/tests_interfaces/projectable_test_interface.py
+++ b/codetocad/tests_interfaces/projectable_test_interface.py
@@ -10,8 +10,4 @@
 class ProjectableTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_project(self):
-        instance = Projectable()
-
-        value = instance.project("project_onto")
-
-        assert value, "Get method failed."
+        pass
diff --git a/codetocad/tests_interfaces/render_test_interface.py b/codetocad/tests_interfaces/render_test_interface.py
index 0f2e7f00..0b665e9b 100644
--- a/codetocad/tests_interfaces/render_test_interface.py
+++ b/codetocad/tests_interfaces/render_test_interface.py
@@ -7,78 +7,35 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Render
-
-
 class RenderTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_render_image(self):
-        instance = Render()
-
-        value = instance.render_image("output_file_path", "overwrite", "file_type")
+        pass
 
     @abstractmethod
     def test_render_video_mp4(self):
-        instance = Render()
-
-        value = instance.render_video_mp4(
-            "output_file_path",
-            "start_frame_number",
-            "end_frame_number",
-            "step_frames",
-            "overwrite",
-        )
+        pass
 
     @abstractmethod
     def test_render_video_frames(self):
-        instance = Render()
-
-        value = instance.render_video_frames(
-            "output_folder_path",
-            "file_name_prefix",
-            "start_frame_number",
-            "end_frame_number",
-            "step_frames",
-            "overwrite",
-            "file_type",
-        )
+        pass
 
     @abstractmethod
     def test_set_frame_rate(self):
-        instance = Render()
-
-        value = instance.set_frame_rate("frame_rate")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_resolution(self):
-        instance = Render()
-
-        value = instance.set_resolution("x", "y")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_render_quality(self):
-        instance = Render()
-
-        value = instance.set_render_quality("quality")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_render_engine(self):
-        instance = Render()
-
-        value = instance.set_render_engine("name")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_camera(self):
-        instance = Render()
-
-        value = instance.set_camera("camera_name_or_instance")
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/scalable_test_interface.py b/codetocad/tests_interfaces/scalable_test_interface.py
index 5aef4202..a15946e1 100644
--- a/codetocad/tests_interfaces/scalable_test_interface.py
+++ b/codetocad/tests_interfaces/scalable_test_interface.py
@@ -10,64 +10,32 @@
 class ScalableTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_scale_xyz(self):
-        instance = Scalable()
-
-        value = instance.scale_xyz("x", "y", "z")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_scale_x(self):
-        instance = Scalable()
-
-        value = instance.scale_x("scale")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_scale_y(self):
-        instance = Scalable()
-
-        value = instance.scale_y("scale")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_scale_z(self):
-        instance = Scalable()
-
-        value = instance.scale_z("scale")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_scale_x_by_factor(self):
-        instance = Scalable()
-
-        value = instance.scale_x_by_factor("scale_factor")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_scale_y_by_factor(self):
-        instance = Scalable()
-
-        value = instance.scale_y_by_factor("scale_factor")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_scale_z_by_factor(self):
-        instance = Scalable()
-
-        value = instance.scale_z_by_factor("scale_factor")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_scale_keep_aspect_ratio(self):
-        instance = Scalable()
-
-        value = instance.scale_keep_aspect_ratio("scale", "axis")
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/scene_test_interface.py b/codetocad/tests_interfaces/scene_test_interface.py
index f88756f0..698cfbc5 100644
--- a/codetocad/tests_interfaces/scene_test_interface.py
+++ b/codetocad/tests_interfaces/scene_test_interface.py
@@ -7,96 +7,51 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Scene
-
-
 class SceneTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_create(self):
-        instance = Scene()
-
-        value = instance.create("")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_delete(self):
-        instance = Scene()
-
-        value = instance.delete("")
+        pass
 
     @abstractmethod
     def test_is_exists(self):
-        instance = Scene()
-
-        value = instance.is_exists("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_get_selected_entity(self):
-        instance = Scene()
-
-        value = instance.get_selected_entity("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_export(self):
-        instance = Scene()
-
-        value = instance.export("file_path", "entities", "overwrite", "scale")
+        pass
 
     @abstractmethod
     def test_set_default_unit(self):
-        instance = Scene()
-
-        value = instance.set_default_unit("unit")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_create_group(self):
-        instance = Scene()
-
-        value = instance.create_group("name")
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_delete_group(self):
-        instance = Scene()
-
-        value = instance.delete_group("name", "remove_children")
+        pass
 
     @abstractmethod
     def test_remove_from_group(self):
-        instance = Scene()
-
-        value = instance.remove_from_group("entity_name", "group_name")
+        pass
 
     @abstractmethod
     def test_assign_to_group(self):
-        instance = Scene()
-
-        value = instance.assign_to_group(
-            "entities", "group_name", "remove_from_other_groups"
-        )
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_visible(self):
-        instance = Scene()
-
-        value = instance.set_visible("entities", "is_visible")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_set_background_image(self):
-        instance = Scene()
-
-        value = instance.set_background_image("file_path", "location_x", "location_y")
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/sketch_test_interface.py b/codetocad/tests_interfaces/sketch_test_interface.py
index 8d13e798..d11cfd07 100644
--- a/codetocad/tests_interfaces/sketch_test_interface.py
+++ b/codetocad/tests_interfaces/sketch_test_interface.py
@@ -7,178 +7,75 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Sketch
-
-
-from codetocad.tests_interfaces import (
-    MirrorableTestInterface,
-    PatternableTestInterface,
-    ImportableTestInterface,
-    ExportableTestInterface,
-    ScalableTestInterface,
-)
-
-
-class SketchTestInterface(
-    MirrorableTestInterface,
-    PatternableTestInterface,
-    ImportableTestInterface,
-    ExportableTestInterface,
-    ScalableTestInterface,
-    metaclass=ABCMeta,
-):
+class SketchTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_clone(self):
-        instance = Sketch()
-
-        value = instance.clone("new_name", "copy_landmarks")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_revolve(self):
-        instance = Sketch()
-
-        value = instance.revolve("angle", "about_entity_or_landmark", "axis")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_twist(self):
-        instance = Sketch()
-
-        value = instance.twist("angle", "screw_pitch", "iterations", "axis")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_extrude(self):
-        instance = Sketch()
-
-        value = instance.extrude("length")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_sweep(self):
-        instance = Sketch()
-
-        value = instance.sweep("profile_name_or_instance", "fill_cap")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_offset(self):
-        instance = Sketch()
-
-        value = instance.offset("radius")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_profile(self):
-        instance = Sketch()
-
-        value = instance.profile("profile_curve_name")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_create_text(self):
-        instance = Sketch()
-
-        value = instance.create_text(
-            "text",
-            "font_size",
-            "bold",
-            "italic",
-            "underlined",
-            "character_spacing",
-            "word_spacing",
-            "line_spacing",
-            "font_file_path",
-        )
-
-        assert value.is_exists(), "Create method failed."
+        pass
 
     @abstractmethod
     def test_create_from_vertices(self):
-        instance = Sketch()
-
-        value = instance.create_from_vertices("points")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_point(self):
-        instance = Sketch()
-
-        value = instance.create_point("point")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_line(self):
-        instance = Sketch()
-
-        value = instance.create_line("start_at", "end_at")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_circle(self):
-        instance = Sketch()
-
-        value = instance.create_circle("radius")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_ellipse(self):
-        instance = Sketch()
-
-        value = instance.create_ellipse("radius_minor", "radius_major")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_arc(self):
-        instance = Sketch()
-
-        value = instance.create_arc("start_at", "end_at", "radius", "flip")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_rectangle(self):
-        instance = Sketch()
-
-        value = instance.create_rectangle("length", "width")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_polygon(self):
-        instance = Sketch()
-
-        value = instance.create_polygon("number_of_sides", "length", "width")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_trapezoid(self):
-        instance = Sketch()
-
-        value = instance.create_trapezoid("length_upper", "length_lower", "height")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_create_spiral(self):
-        instance = Sketch()
-
-        value = instance.create_spiral(
-            "number_of_turns", "height", "radius", "is_clockwise", "radius_end"
-        )
-
-        assert value, "Get method failed."
+        pass
diff --git a/codetocad/tests_interfaces/subdividable_test_interface.py b/codetocad/tests_interfaces/subdividable_test_interface.py
index 13762de5..f6238c25 100644
--- a/codetocad/tests_interfaces/subdividable_test_interface.py
+++ b/codetocad/tests_interfaces/subdividable_test_interface.py
@@ -10,24 +10,12 @@
 class SubdividableTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_remesh(self):
-        instance = Subdividable()
-
-        value = instance.remesh("strategy", "amount")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_subdivide(self):
-        instance = Subdividable()
-
-        value = instance.subdivide("amount")
-
-        assert value, "Modify method failed."
+        pass
 
     @abstractmethod
     def test_decimate(self):
-        instance = Subdividable()
-
-        value = instance.decimate("amount")
-
-        assert value, "Modify method failed."
+        pass
diff --git a/codetocad/tests_interfaces/vertex_test_interface.py b/codetocad/tests_interfaces/vertex_test_interface.py
index 7106e441..6ff6e5b7 100644
--- a/codetocad/tests_interfaces/vertex_test_interface.py
+++ b/codetocad/tests_interfaces/vertex_test_interface.py
@@ -7,17 +7,7 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Vertex
-
-
-from codetocad.tests_interfaces import ProjectableTestInterface
-
-
-class VertexTestInterface(ProjectableTestInterface, metaclass=ABCMeta):
+class VertexTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_get_control_points(self):
-        instance = Vertex()
-
-        value = instance.get_control_points("parameter")
-
-        assert value, "Get method failed."
+        pass
diff --git a/codetocad/tests_interfaces/wire_test_interface.py b/codetocad/tests_interfaces/wire_test_interface.py
index efc06a80..0c6c7be7 100644
--- a/codetocad/tests_interfaces/wire_test_interface.py
+++ b/codetocad/tests_interfaces/wire_test_interface.py
@@ -7,42 +7,15 @@
 from abc import ABCMeta, abstractmethod
 
 
-from codetocad import Wire
-
-
-from codetocad.tests_interfaces import (
-    MirrorableTestInterface,
-    PatternableTestInterface,
-    ProjectableTestInterface,
-)
-
-
-class WireTestInterface(
-    MirrorableTestInterface,
-    PatternableTestInterface,
-    ProjectableTestInterface,
-    metaclass=ABCMeta,
-):
+class WireTestInterface(metaclass=ABCMeta):
     @abstractmethod
     def test_get_vertices(self):
-        instance = Wire()
-
-        value = instance.get_vertices("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_is_closed(self):
-        instance = Wire()
-
-        value = instance.is_closed("")
-
-        assert value, "Get method failed."
+        pass
 
     @abstractmethod
     def test_loft(self):
-        instance = Wire()
-
-        value = instance.loft("other", "new_part_name")
-
-        assert value, "Get method failed."
+        pass
diff --git a/development/capabilities_json_to_python/templates/capabilities_to_py_test_interface.j2 b/development/capabilities_json_to_python/templates/capabilities_to_py_test_interface.j2
index be0abdac..955fd2a8 100644
--- a/development/capabilities_json_to_python/templates/capabilities_to_py_test_interface.j2
+++ b/development/capabilities_json_to_python/templates/capabilities_to_py_test_interface.j2
@@ -6,19 +6,6 @@
 
 from abc import ABCMeta, abstractmethod
 
-{%if not ("is_interface_only" in methods and methods["is_interface_only"] is true)%}
-from codetocad import {{className}}
-{%-endif%}
-
-
-{%-set implementedClassesWithSuffixes = []-%}
-{%- if "implements" in methods-%}
-{%-set implementedClasses = methods["implements"]-%}
-{%-for implementedClass in implementedClasses.split(",") -%}
-{%-set implementedClassWithSuffix = implementedClass + "TestInterface"-%}
-{%- set implementedClassesWithSuffixes = implementedClassesWithSuffixes.append(implementedClassWithSuffix)-%}
-{%-endfor-%}
-{%-endif%}
 
 {% if implementedClassesWithSuffixes|length > 0%}
 from codetocad.tests_interfaces import ({{implementedClassesWithSuffixes|join(", ")}})
diff --git a/development/capabilities_json_to_python/templates/generate_test_method.j2 b/development/capabilities_json_to_python/templates/generate_test_method.j2
index f5da65ff..e0dac128 100644
--- a/development/capabilities_json_to_python/templates/generate_test_method.j2
+++ b/development/capabilities_json_to_python/templates/generate_test_method.j2
@@ -32,6 +32,9 @@
     {{"@skip('TODO')\n    " if not use_abstract_method_decorator -}}
     {{"@abstractmethod\n    " if use_abstract_method_decorator -}}
     def test_{{method_name}}(self):
+        {% if use_abstract_method_decorator %}
+        pass
+        {%else%}
         instance = {{className}}()
 
         value = instance.{{method_name}}("{{ parameters.keys()|join('","')}}")
@@ -43,6 +46,7 @@
         {%elif properties["action"] == "modify"%}
         assert value, "Modify method failed."
         {%endif%}
+        {%endif%}
 
     {%-endif%}