import { Vector3 } from "three"; import { Database, Line, CADFactory } from '../../src/DatabaseServices/FileSystem'; test('id分配', () => { CADFactory.RegisterObject(Line); let db = new Database(); let line = new Line(); line.StartPoint = new Vector3(10, 3, 2); let id = db.ModelSpace.Append(line); expect(id != undefined).toBeTruthy(); expect(id.Object === line).toBeTruthy(); db.hm.Undo(); expect(id.IsErase).toBeTruthy(); expect(db.ModelSpace.Cout()).toBe(0); db.hm.Redo(); expect(db.ModelSpace.Cout()).toBe(1); expect(!id.IsErase).toBeTruthy(); let file = db.FileOut(); let db2 = new Database(); db2.FileIn(file); console.log(db2.GetObjectId(0)); db2.GetObjectId(0).Object.ClassName //? console.log(db2.ModelSpace.Cout()); console.log(file); }); test('changev', () => { let db = new Database(); let l1 = new Line(); let id = db.ModelSpace.Append(l1); db.hm.Undo(); db.hm.Redo(); console.log(id.Object === l1); (id.Object as Line).StartPoint = new Vector3(2, 3, 4); let file = db.FileOut(); console.log(file.ToString()); }); test('xxx', () => { let db = new Database(); db.hm.StartCmd(""); let l1 = new Line(); let l2 = new Line(); let id1 = db.ModelSpace.Append(l1); let in2 = db.ModelSpace.Append(l2); db.hm.Undo(); //? db.hm.Redo(); //? db.hm.StartCmd(""); db.ModelSpace.Remove(db.GetObjectId(1).Object); db.hm.Undo(); //? db.hm.Undo(); //? db.hm.Redo(); //? // db.hm.StartCmd(""); (id1.Object as Line).StartPoint = new Vector3(10, 4, 2); (id1.Object as Line).EndPoint = new Vector3(2, 2, 2); let file = db.FileOut(); console.log(file.ToString()); }); // function createLine() // { // for (let i = 0; i < 5000; i++) // { // let l = CADFactory.CreateObject("Line") as Line; // } // } // // createLine(); //?. // function undoRedo() // { // for (let i = 0; i < 5000; i++) // { // db.hm.Undo(); // db.hm.Redo(); // } // } // // undoRedo(); //?.