# SPDX-License-Identifier: LGPL-2.1-or-later
# SPDX-FileCopyrightText: 2025 sliptonic <shopinthewoods@gmail.com>
# SPDX-FileNotice: Part of the FreeCAD project.

################################################################################
#                                                                              #
#   FreeCAD is free software: you can redistribute it and/or modify            #
#   it under the terms of the GNU Lesser General Public License as             #
#   published by the Free Software Foundation, either version 2.1              #
#   of the License, or (at your option) any later version.                     #
#                                                                              #
#   FreeCAD is distributed in the hope that it will be useful,                 #
#   but WITHOUT ANY WARRANTY; without even the implied warranty                #
#   of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                    #
#   See the GNU Lesser General Public License for more details.                #
#                                                                              #
#   You should have received a copy of the GNU Lesser General Public           #
#   License along with FreeCAD. If not, see https://www.gnu.org/licenses       #
#                                                                              #
################################################################################

# flake8: noqa import

import TestApp

from CAMTests.TestCAMSanity import TestCAMSanity

from CAMTests.TestLinkingGenerator import TestGetLinkingMoves
from CAMTests.TestMachine import (
    TestMachineDataclass,
    TestMachineFactory,
    TestToolhead,
)
from CAMTests.TestPathProfile import TestPathProfile

from CAMTests.TestPathAdaptive import TestPathAdaptive
from CAMTests.TestPathCommandAnnotations import TestPathCommandAnnotations
from CAMTests.TestPathCore import TestPathCore
from CAMTests.TestPathDepthParams import depthTestCases
from CAMTests.TestPathDressupDogboneII import TestDressupDogboneII
from CAMTests.TestPathDressupHoldingTags import TestHoldingTags
from CAMTests.TestPathDrillable import TestPathDrillable
from CAMTests.TestPathDrillGenerator import TestPathDrillGenerator
from CAMTests.TestDrillCycleExpander import TestDrillCycleExpander
from CAMTests.TestPathFacingGenerator import TestPathFacingGenerator
from CAMTests.TestPathGeneratorDogboneII import TestGeneratorDogboneII
from CAMTests.TestPathGeom import TestPathGeom
from CAMTests.TestPathLanguage import TestPathLanguage
from CAMTests.TestPathOpDeburr import TestPathOpDeburr
from CAMTests.TestPathHelpers import TestPathHelpers
from CAMTests.TestPathHelix import TestPathHelix
from CAMTests.TestPathHelixGenerator import TestPathHelixGenerator
from CAMTests.TestPathSpiralGenerator import TestPathSpiralGenerator
from CAMTests.TestPathLog import TestPathLog
from CAMTests.TestPathLogNew import TestPathLogNew
from CAMTests.TestPathOpUtil import TestPathOpUtil
from CAMTests.TestPostToolProcessing import TestToolLengthOffset, TestToolProcessing

# Post-processing tests split into 3 files for better organization
from CAMTests.TestPostCore import TestPathPostUtils, TestBuildPostList, TestJobPropertyOverrides
from CAMTests.TestPostProcessor import (
    TestPostProcessorFactory,
    TestResolvingPostProcessorName,
    TestHeaderBuilder,
    TestPostProcessorClassification,
    TestConfigurationBundle,
)
from CAMTests.TestPostOutput import (
    TestFileNameGenerator,
    TestExport2Integration,
)

from CAMTests.TestPathPreferences import TestPathPreferences
from CAMTests.TestPathPocket import TestPathPocket
from CAMTests.TestPathProfile import TestPathProfile
from CAMTests.TestPathPropertyBag import TestPathPropertyBag
from CAMTests.TestPathRotaryGenerators import TestPathRotaryGenerators
from CAMTests.TestPathRotaryParallel import TestPathRotaryParallel
from CAMTests.TestPathRotaryRings import TestPathRotaryRings
from CAMTests.TestPathRotarySurface import TestPathRotarySurface
from CAMTests.TestPathRotaryPostRegression import TestPathRotaryPostRegression
from CAMTests.TestPathRotaryWrap import TestRotaryWrapStrategy
from CAMTests.TestPathRotationGenerator import TestPathRotationGenerator
from CAMTests.TestPathSetupSheet import TestPathSetupSheet
from CAMTests.TestPathStock import TestPathStock
from CAMTests.TestPathTapGenerator import TestPathTapGenerator
from CAMTests.TestPathThreadMilling import TestPathThreadMilling
from CAMTests.TestPathThreadMillingGenerator import TestPathThreadMillingGenerator
from CAMTests.TestPathToolAsset import TestPathToolAsset
from CAMTests.TestPathToolAssetCache import (
    TestPathToolAssetCache,
    TestPathToolAssetCacheIntegration,
)
from CAMTests.TestPathToolAssetManager import TestPathToolAssetManager
from CAMTests.TestPathToolAssetStore import TestPathToolFileStore, TestPathToolMemoryStore
from CAMTests.TestPathToolAssetUri import TestPathToolAssetUri
from CAMTests.TestPathToolBit import TestPathToolBit
from CAMTests.TestToolBitRecomputeState import TestToolBitRecomputeState
from CAMTests.TestPathToolShapeClasses import TestPathToolShapeClasses
from CAMTests.TestPathToolShapeDoc import TestPathToolShapeDoc
from CAMTests.TestPathToolShapeIcon import (
    TestToolBitShapeIconBase,
    TestToolBitShapeSvgIcon,
    TestToolBitShapePngIcon,
)
from CAMTests.TestPathToolBitSerializer import (
    TestCamoticsToolBitSerializer,
    TestFCTBSerializer,
    TestYamlToolBitSerializer,
)
from CAMTests.TestPathToolLibrary import TestPathToolLibrary
from CAMTests.TestPathToolLibrarySerializer import (
    TestCamoticsLibrarySerializer,
    TestLinuxCNCLibrarySerializer,
)
from CAMTests.TestPathToolChangeGenerator import TestPathToolChangeGenerator
from CAMTests.TestPathToolController import TestPathToolController
from CAMTests.TestPathUtil import TestPathUtil
from CAMTests.TestPathVcarve import TestPathVcarve
from CAMTests.TestPathVoronoi import TestPathVoronoi

from CAMTests.TestGenericPost import TestGenericPost
from CAMTests.TestGenericPlasma import TestGenericPlasma
from CAMTests.TestLinuxCNCPost import TestLinuxCNCPost
from CAMTests.TestMarlinPost import TestMarlinPost
from CAMTests.TestDxfPost import TestDxfPost
from CAMTests.TestFanucPost import TestFanucPost

from CAMTests.TestGrblPost import TestGrblPost
from CAMTests.TestMassoG3Post import TestMassoG3Post
from CAMTests.TestCentroidPost import TestCentroidPost
from CAMTests.TestMach3Mach4Post import TestMach3Mach4Post
from CAMTests.TestTestPost import TestTestPost
from CAMTests.TestPostGCodes import TestPostGCodes
from CAMTests.TestPostMCodes import TestPostMCodes
from CAMTests.TestDressupPost import TestDressupPost

# from CAMTests.TestLinuxCNCLegacyPost import TestLinuxCNCLegacyPost
# from CAMTests.TestGrblLegacyPost import TestGrblLegacyPost
from CAMTests.TestCentroidLegacyPost import TestCentroidLegacyPost
from CAMTests.TestMach3Mach4LegacyPost import TestMach3Mach4LegacyPost

from CAMTests.TestSnapmakerPost import TestSnapmakerPost
from CAMTests.TestSVGPost import TestSVGPost
from CAMTests.TestTSPSolver import TestTSPSolver
from CAMTests.TestGcodeProcessingUtils import (
    TestInsertLineNumbers,
    TestSuppressRedundantAxesWords,
    TestFilterInefficientMoves,
    TestNumberGenerator,
)
