diff --git a/nwbtest.m b/tools/nwbtest.m similarity index 100% rename from nwbtest.m rename to tools/nwbtest.m diff --git a/+tests/+fixtures/ResetGeneratedTypesFixture.m b/tools/tests/+tests/+fixtures/ResetGeneratedTypesFixture.m similarity index 100% rename from +tests/+fixtures/ResetGeneratedTypesFixture.m rename to tools/tests/+tests/+fixtures/ResetGeneratedTypesFixture.m diff --git a/+tests/+sanity/GenerationTest.m b/tools/tests/+tests/+sanity/GenerationTest.m similarity index 100% rename from +tests/+sanity/GenerationTest.m rename to tools/tests/+tests/+sanity/GenerationTest.m diff --git a/+tests/+system/AlignedSpikeTimesUtilityTest.m b/tools/tests/+tests/+system/AlignedSpikeTimesUtilityTest.m similarity index 100% rename from +tests/+system/AlignedSpikeTimesUtilityTest.m rename to tools/tests/+tests/+system/AlignedSpikeTimesUtilityTest.m diff --git a/+tests/+system/AmendTest.m b/tools/tests/+tests/+system/AmendTest.m similarity index 100% rename from +tests/+system/AmendTest.m rename to tools/tests/+tests/+system/AmendTest.m diff --git a/+tests/+system/DynamicTableTest.m b/tools/tests/+tests/+system/DynamicTableTest.m similarity index 100% rename from +tests/+system/DynamicTableTest.m rename to tools/tests/+tests/+system/DynamicTableTest.m diff --git a/+tests/+system/ElectricalSeriesIOTest.m b/tools/tests/+tests/+system/ElectricalSeriesIOTest.m similarity index 100% rename from +tests/+system/ElectricalSeriesIOTest.m rename to tools/tests/+tests/+system/ElectricalSeriesIOTest.m diff --git a/+tests/+system/ElectrodeGroupIOTest.m b/tools/tests/+tests/+system/ElectrodeGroupIOTest.m similarity index 100% rename from +tests/+system/ElectrodeGroupIOTest.m rename to tools/tests/+tests/+system/ElectrodeGroupIOTest.m diff --git a/+tests/+system/ImagingPlaneIOTest.m b/tools/tests/+tests/+system/ImagingPlaneIOTest.m similarity index 100% rename from +tests/+system/ImagingPlaneIOTest.m rename to tools/tests/+tests/+system/ImagingPlaneIOTest.m diff --git a/+tests/+system/NWBFileIOTest.m b/tools/tests/+tests/+system/NWBFileIOTest.m similarity index 100% rename from +tests/+system/NWBFileIOTest.m rename to tools/tests/+tests/+system/NWBFileIOTest.m diff --git a/+tests/+system/NwbTestInterface.m b/tools/tests/+tests/+system/NwbTestInterface.m similarity index 100% rename from +tests/+system/NwbTestInterface.m rename to tools/tests/+tests/+system/NwbTestInterface.m diff --git a/+tests/+system/PhotonSeriesIOTest.m b/tools/tests/+tests/+system/PhotonSeriesIOTest.m similarity index 100% rename from +tests/+system/PhotonSeriesIOTest.m rename to tools/tests/+tests/+system/PhotonSeriesIOTest.m diff --git a/+tests/+system/PyNWBIOTest.m b/tools/tests/+tests/+system/PyNWBIOTest.m similarity index 100% rename from +tests/+system/PyNWBIOTest.m rename to tools/tests/+tests/+system/PyNWBIOTest.m diff --git a/+tests/+system/PyNWBIOTest.py b/tools/tests/+tests/+system/PyNWBIOTest.py similarity index 100% rename from +tests/+system/PyNWBIOTest.py rename to tools/tests/+tests/+system/PyNWBIOTest.py diff --git a/+tests/+system/RoundTripTest.m b/tools/tests/+tests/+system/RoundTripTest.m similarity index 100% rename from +tests/+system/RoundTripTest.m rename to tools/tests/+tests/+system/RoundTripTest.m diff --git a/+tests/+system/TimeSeriesIOTest.m b/tools/tests/+tests/+system/TimeSeriesIOTest.m similarity index 100% rename from +tests/+system/TimeSeriesIOTest.m rename to tools/tests/+tests/+system/TimeSeriesIOTest.m diff --git a/+tests/+system/UnitTimesIOTest.m b/tools/tests/+tests/+system/UnitTimesIOTest.m similarity index 100% rename from +tests/+system/UnitTimesIOTest.m rename to tools/tests/+tests/+system/UnitTimesIOTest.m diff --git a/+tests/+system/smokeTest.m b/tools/tests/+tests/+system/smokeTest.m similarity index 100% rename from +tests/+system/smokeTest.m rename to tools/tests/+tests/+system/smokeTest.m diff --git a/+tests/+unit/+common/ValidatorTest.m b/tools/tests/+tests/+unit/+common/ValidatorTest.m similarity index 100% rename from +tests/+unit/+common/ValidatorTest.m rename to tools/tests/+tests/+unit/+common/ValidatorTest.m diff --git a/+tests/+unit/+file/CloneNwbTest.m b/tools/tests/+tests/+unit/+file/CloneNwbTest.m similarity index 100% rename from +tests/+unit/+file/CloneNwbTest.m rename to tools/tests/+tests/+unit/+file/CloneNwbTest.m diff --git a/+tests/+unit/+io/IsBoolTest.m b/tools/tests/+tests/+unit/+io/IsBoolTest.m similarity index 100% rename from +tests/+unit/+io/IsBoolTest.m rename to tools/tests/+tests/+unit/+io/IsBoolTest.m diff --git a/+tests/+unit/+io/PathPartsTest.m b/tools/tests/+tests/+unit/+io/PathPartsTest.m similarity index 100% rename from +tests/+unit/+io/PathPartsTest.m rename to tools/tests/+tests/+unit/+io/PathPartsTest.m diff --git a/+tests/+unit/+io/SpaceTest.m b/tools/tests/+tests/+unit/+io/SpaceTest.m similarity index 100% rename from +tests/+unit/+io/SpaceTest.m rename to tools/tests/+tests/+unit/+io/SpaceTest.m diff --git a/+tests/+unit/+io/TypeConversionTest.m b/tools/tests/+tests/+unit/+io/TypeConversionTest.m similarity index 100% rename from +tests/+unit/+io/TypeConversionTest.m rename to tools/tests/+tests/+unit/+io/TypeConversionTest.m diff --git a/+tests/+unit/+io/WriteTest.m b/tools/tests/+tests/+unit/+io/WriteTest.m similarity index 100% rename from +tests/+unit/+io/WriteTest.m rename to tools/tests/+tests/+unit/+io/WriteTest.m diff --git a/+tests/+unit/+io/testCreateParsedType.m b/tools/tests/+tests/+unit/+io/testCreateParsedType.m similarity index 100% rename from +tests/+unit/+io/testCreateParsedType.m rename to tools/tests/+tests/+unit/+io/testCreateParsedType.m diff --git a/+tests/+unit/+io/testTimestampToDatetime.m b/tools/tests/+tests/+unit/+io/testTimestampToDatetime.m similarity index 100% rename from +tests/+unit/+io/testTimestampToDatetime.m rename to tools/tests/+tests/+unit/+io/testTimestampToDatetime.m diff --git a/+tests/+unit/+types/FunctionTests.m b/tools/tests/+tests/+unit/+types/FunctionTests.m similarity index 100% rename from +tests/+unit/+types/FunctionTests.m rename to tools/tests/+tests/+unit/+types/FunctionTests.m diff --git a/+tests/+unit/FunctionTests.m b/tools/tests/+tests/+unit/FunctionTests.m similarity index 100% rename from +tests/+unit/FunctionTests.m rename to tools/tests/+tests/+unit/FunctionTests.m diff --git a/+tests/+unit/PynwbTutorialTest.m b/tools/tests/+tests/+unit/PynwbTutorialTest.m similarity index 100% rename from +tests/+unit/PynwbTutorialTest.m rename to tools/tests/+tests/+unit/PynwbTutorialTest.m diff --git a/+tests/+unit/TutorialTest.m b/tools/tests/+tests/+unit/TutorialTest.m similarity index 100% rename from +tests/+unit/TutorialTest.m rename to tools/tests/+tests/+unit/TutorialTest.m diff --git a/+tests/+unit/aberrantValuesTest.m b/tools/tests/+tests/+unit/aberrantValuesTest.m similarity index 100% rename from +tests/+unit/aberrantValuesTest.m rename to tools/tests/+tests/+unit/aberrantValuesTest.m diff --git a/+tests/+unit/anonSchema/anon.anonymous.yaml b/tools/tests/+tests/+unit/anonSchema/anon.anonymous.yaml similarity index 100% rename from +tests/+unit/anonSchema/anon.anonymous.yaml rename to tools/tests/+tests/+unit/anonSchema/anon.anonymous.yaml diff --git a/+tests/+unit/anonSchema/anon.namespace.yaml b/tools/tests/+tests/+unit/anonSchema/anon.namespace.yaml similarity index 100% rename from +tests/+unit/anonSchema/anon.namespace.yaml rename to tools/tests/+tests/+unit/anonSchema/anon.namespace.yaml diff --git a/+tests/+unit/anonTest.m b/tools/tests/+tests/+unit/anonTest.m similarity index 100% rename from +tests/+unit/anonTest.m rename to tools/tests/+tests/+unit/anonTest.m diff --git a/+tests/+unit/boolSchema/bool.bools.yaml b/tools/tests/+tests/+unit/boolSchema/bool.bools.yaml similarity index 100% rename from +tests/+unit/boolSchema/bool.bools.yaml rename to tools/tests/+tests/+unit/boolSchema/bool.bools.yaml diff --git a/+tests/+unit/boolSchema/bool.namespace.yaml b/tools/tests/+tests/+unit/boolSchema/bool.namespace.yaml similarity index 100% rename from +tests/+unit/boolSchema/bool.namespace.yaml rename to tools/tests/+tests/+unit/boolSchema/bool.namespace.yaml diff --git a/+tests/+unit/boolTest.m b/tools/tests/+tests/+unit/boolTest.m similarity index 100% rename from +tests/+unit/boolTest.m rename to tools/tests/+tests/+unit/boolTest.m diff --git a/+tests/+unit/compoundSchema/cs.compoundtypes.yaml b/tools/tests/+tests/+unit/compoundSchema/cs.compoundtypes.yaml similarity index 100% rename from +tests/+unit/compoundSchema/cs.compoundtypes.yaml rename to tools/tests/+tests/+unit/compoundSchema/cs.compoundtypes.yaml diff --git a/+tests/+unit/compoundSchema/cs.namespace.yaml b/tools/tests/+tests/+unit/compoundSchema/cs.namespace.yaml similarity index 100% rename from +tests/+unit/compoundSchema/cs.namespace.yaml rename to tools/tests/+tests/+unit/compoundSchema/cs.namespace.yaml diff --git a/+tests/+unit/dataPipeTest.m b/tools/tests/+tests/+unit/dataPipeTest.m similarity index 100% rename from +tests/+unit/dataPipeTest.m rename to tools/tests/+tests/+unit/dataPipeTest.m diff --git a/+tests/+unit/dataStubTest.m b/tools/tests/+tests/+unit/dataStubTest.m similarity index 100% rename from +tests/+unit/dataStubTest.m rename to tools/tests/+tests/+unit/dataStubTest.m diff --git a/+tests/+unit/dynamicTableTest.m b/tools/tests/+tests/+unit/dynamicTableTest.m similarity index 100% rename from +tests/+unit/dynamicTableTest.m rename to tools/tests/+tests/+unit/dynamicTableTest.m diff --git a/+tests/+unit/linkTest.m b/tools/tests/+tests/+unit/linkTest.m similarity index 100% rename from +tests/+unit/linkTest.m rename to tools/tests/+tests/+unit/linkTest.m diff --git a/+tests/+unit/multipleConstrainedSchema/mcs.manyset.yaml b/tools/tests/+tests/+unit/multipleConstrainedSchema/mcs.manyset.yaml similarity index 100% rename from +tests/+unit/multipleConstrainedSchema/mcs.manyset.yaml rename to tools/tests/+tests/+unit/multipleConstrainedSchema/mcs.manyset.yaml diff --git a/+tests/+unit/multipleConstrainedSchema/mcs.namespace.yaml b/tools/tests/+tests/+unit/multipleConstrainedSchema/mcs.namespace.yaml similarity index 100% rename from +tests/+unit/multipleConstrainedSchema/mcs.namespace.yaml rename to tools/tests/+tests/+unit/multipleConstrainedSchema/mcs.namespace.yaml diff --git a/+tests/+unit/multipleConstrainedTest.m b/tools/tests/+tests/+unit/multipleConstrainedTest.m similarity index 100% rename from +tests/+unit/multipleConstrainedTest.m rename to tools/tests/+tests/+unit/multipleConstrainedTest.m diff --git a/+tests/+unit/multipleShapesSchema/mss.multishapes.yaml b/tools/tests/+tests/+unit/multipleShapesSchema/mss.multishapes.yaml similarity index 100% rename from +tests/+unit/multipleShapesSchema/mss.multishapes.yaml rename to tools/tests/+tests/+unit/multipleShapesSchema/mss.multishapes.yaml diff --git a/+tests/+unit/multipleShapesSchema/mss.namespace.yaml b/tools/tests/+tests/+unit/multipleShapesSchema/mss.namespace.yaml similarity index 100% rename from +tests/+unit/multipleShapesSchema/mss.namespace.yaml rename to tools/tests/+tests/+unit/multipleShapesSchema/mss.namespace.yaml diff --git a/+tests/+unit/multipleShapesTest.m b/tools/tests/+tests/+unit/multipleShapesTest.m similarity index 100% rename from +tests/+unit/multipleShapesTest.m rename to tools/tests/+tests/+unit/multipleShapesTest.m diff --git a/+tests/+unit/nwbExportTest.m b/tools/tests/+tests/+unit/nwbExportTest.m similarity index 100% rename from +tests/+unit/nwbExportTest.m rename to tools/tests/+tests/+unit/nwbExportTest.m diff --git a/+tests/+unit/read_nwbfile_with_pynwb.py b/tools/tests/+tests/+unit/read_nwbfile_with_pynwb.py similarity index 100% rename from +tests/+unit/read_nwbfile_with_pynwb.py rename to tools/tests/+tests/+unit/read_nwbfile_with_pynwb.py diff --git a/+tests/+unit/regionReferenceSchema/rrs.namespace.yaml b/tools/tests/+tests/+unit/regionReferenceSchema/rrs.namespace.yaml similarity index 100% rename from +tests/+unit/regionReferenceSchema/rrs.namespace.yaml rename to tools/tests/+tests/+unit/regionReferenceSchema/rrs.namespace.yaml diff --git a/+tests/+unit/regionReferenceSchema/rrs.regref.yaml b/tools/tests/+tests/+unit/regionReferenceSchema/rrs.regref.yaml similarity index 100% rename from +tests/+unit/regionReferenceSchema/rrs.regref.yaml rename to tools/tests/+tests/+unit/regionReferenceSchema/rrs.regref.yaml diff --git a/+tests/+unit/regionViewTest.m b/tools/tests/+tests/+unit/regionViewTest.m similarity index 100% rename from +tests/+unit/regionViewTest.m rename to tools/tests/+tests/+unit/regionViewTest.m diff --git a/+tests/+unit/searchTest.m b/tools/tests/+tests/+unit/searchTest.m similarity index 100% rename from +tests/+unit/searchTest.m rename to tools/tests/+tests/+unit/searchTest.m diff --git a/+tests/+unit/untypedSetTest.m b/tools/tests/+tests/+unit/untypedSetTest.m similarity index 100% rename from +tests/+unit/untypedSetTest.m rename to tools/tests/+tests/+unit/untypedSetTest.m diff --git a/+tests/+util/addFolderToPythonPath.m b/tools/tests/+tests/+util/addFolderToPythonPath.m similarity index 100% rename from +tests/+util/addFolderToPythonPath.m rename to tools/tests/+tests/+util/addFolderToPythonPath.m diff --git a/+tests/+util/getProjectDirectory.m b/tools/tests/+tests/+util/getProjectDirectory.m similarity index 100% rename from +tests/+util/getProjectDirectory.m rename to tools/tests/+tests/+util/getProjectDirectory.m diff --git a/+tests/+util/getPythonPath.m b/tools/tests/+tests/+util/getPythonPath.m similarity index 100% rename from +tests/+util/getPythonPath.m rename to tools/tests/+tests/+util/getPythonPath.m diff --git a/+tests/+util/verifyContainerEqual.m b/tools/tests/+tests/+util/verifyContainerEqual.m similarity index 100% rename from +tests/+util/verifyContainerEqual.m rename to tools/tests/+tests/+util/verifyContainerEqual.m diff --git a/+tests/+util/verifySetEqual.m b/tools/tests/+tests/+util/verifySetEqual.m similarity index 100% rename from +tests/+util/verifySetEqual.m rename to tools/tests/+tests/+util/verifySetEqual.m diff --git a/+tests/requirements.txt b/tools/tests/requirements.txt similarity index 100% rename from +tests/requirements.txt rename to tools/tests/requirements.txt