diff --git a/src/scripts/actions/test.ts b/src/scripts/actions/test.ts new file mode 100644 index 0000000..d74ebfb --- /dev/null +++ b/src/scripts/actions/test.ts @@ -0,0 +1,39 @@ +import { createBaseWorldConfig } from '@/lib/config/world'; +import { createBaseTypesConfig } from '@/lib/config/types'; +import { create2dBaseInitialConfig } from '@/lib/config/initial'; +import { Simulation } from '@/lib/simulation'; +import { createPhysicModel } from '@/lib/utils/functions'; +import { create2dRandomDistribution } from '@/lib/config/atoms'; +import { createDummyDrawer } from '@/lib/drawer/dummy'; +import { Runner } from '@/lib/runner'; +import { CompoundsAnalyzer } from '@/lib/analysis/compounds'; + +export const actionTest = (...args: string[]) => { + console.log('[START] test action', args); + + const worldConfig = createBaseWorldConfig(); + const typesConfig = createBaseTypesConfig(); + const initialConfig = create2dBaseInitialConfig(); + + const sim = new Simulation({ + viewMode: '2d', + worldConfig: worldConfig, + typesConfig: typesConfig, + initialConfig: initialConfig, + physicModel: createPhysicModel(worldConfig, typesConfig), + atomsFactory: create2dRandomDistribution, + drawer: createDummyDrawer(), + }); + + const runner = new Runner(sim); + runner.runSteps(500); + + console.log(sim.summary); + + const compounds = new CompoundsAnalyzer(sim.exportCompounds(), sim.atoms); + console.log(compounds.lengthByTypes); + console.log(compounds.itemLengthSummary); + console.log(compounds.itemLengthByTypesSummary); + + console.log('[FINISH]'); +} diff --git a/src/scripts/tool.ts b/src/scripts/tool.ts index 1c3d07b..1563671 100644 --- a/src/scripts/tool.ts +++ b/src/scripts/tool.ts @@ -1,54 +1,16 @@ -import { Simulation } from '@/lib/simulation'; -import { Runner } from '@/lib/runner'; -import { create2dBaseInitialConfig } from '@/lib/config/initial'; -import { createPhysicModel } from '@/lib/utils/functions'; -import { create2dRandomDistribution } from '@/lib/config/atoms'; -import { createBaseWorldConfig } from '@/lib/config/world'; -import { createBaseTypesConfig } from '@/lib/config/types'; -import { createDummyDrawer } from '@/lib/drawer/dummy'; -import { CompoundsAnalyzer } from '@/lib/analysis/compounds'; import { Router } from '@/scripts/lib/router'; +import { actionTest } from '@/scripts/actions/test'; const router = new Router(); -router.onBeforeRun((action) => { +router.onBeforeRun(() => { console.log(''); console.log('***********************'); console.log('** COMMAND LINE TOOL **'); console.log('***********************'); console.log(''); - console.log(`Action to run: "${action}"`); - console.log(''); }) -router.add('test', (...args: string[]) => { - console.log('[START] test action', args); - - const worldConfig = createBaseWorldConfig(); - const typesConfig = createBaseTypesConfig(); - const initialConfig = create2dBaseInitialConfig(); - - const sim = new Simulation({ - viewMode: '2d', - worldConfig: worldConfig, - typesConfig: typesConfig, - initialConfig: initialConfig, - physicModel: createPhysicModel(worldConfig, typesConfig), - atomsFactory: create2dRandomDistribution, - drawer: createDummyDrawer(), - }); - - const runner = new Runner(sim); - runner.runSteps(500); - - console.log(sim.summary); - - const compounds = new CompoundsAnalyzer(sim.exportCompounds(), sim.atoms); - console.log(compounds.lengthByTypes); - console.log(compounds.itemLengthSummary); - console.log(compounds.itemLengthByTypesSummary); - - console.log('[FINISH]'); -}); +router.add('test', actionTest); router.run(process.argv.slice(2));