Exemple #1
0
        public void UT_Hndl()
        {
            var boot  = new Boot();
            var model = new Mod();

            model.SetModel(boot);

            var mh = new ModHandler();

            mh.Hndl(model);
            int cnt = 0;

            foreach (var gr in model.elmGroups)
            {
                cnt += gr.guids.Count();
            }
            Assert.AreEqual(model.elements.Count(), cnt);

            //Hndl performance test -- 180 sec for 100 cycles
            DateTime t0 = DateTime.Now;

            for (int i = 0; i < 100; i++)
            {
                mh.Hndl(model);
            }
            TimeSpan ts = DateTime.Now - t0;

            Assert.IsTrue(ts.TotalSeconds > 0.0);
        }
Exemple #2
0
        public void UT_GetTSmatchINFO_NoFile()
        {
            // GetModelINFO() - базовый метод, вызываемый в SetModel.
            //..поэтому пользоваться обычным init() для этого UT_ нельзя
            const string defaultModName = "MyTestName";

            boot      = new Boot(); boot.Init();
            model     = new Mod();
            model.dir = boot.ModelDir;
            if (string.IsNullOrEmpty(model.dir))
            {
                model.dir = boot.DebugDir;
            }
            Assert.IsTrue(model.dir.Length > 0);
            bool isModelINFOexists = FileOp.isFileExist(model.dir, "TSmatchINFO.xlsx");

            if (isModelINFOexists)
            {
                goto exit;
            }

            U._GetTSmatchINFO(model);

            bool ok = model.sr.CheckModelIntegrity(model);

            if (isModelINFOexists)
            {
                Assert.IsTrue(model.isChanged);
            }
            Assert.IsTrue(ok);
            exit : FileOp.AppQuit();
        }
Exemple #3
0
        public void UT_ModHandler_geGroup_Native()
        {
            var boot  = new Boot();
            var model = new Mod();

            model.SetModel(boot);
        }
Exemple #4
0
        /// <summary>
        /// Read(nameModel) - получение модели (списка элементов с атрибутами) из Tekla или IFC
        /// </summary>
        /// <param name="modelName">имя читаемой модели, по умолчанию - чтение того, что есть</param>
        /// <returns>Model со списком прочитанных элементов в model.elements</returns>
        public Model Read(string modelName = "")
        {
            if (string.IsNullOrEmpty(name))
            {
                bootstrap = new Boot();
                if (bootstrap.isTeklaActive)
                {
                    getModelFrTekla();
                }
                else
                {
                    elements = Ifc.Read(ifcPath);
                }
            }
            elementsCount = elements.Count;
            getGroups();
#if OLD
            log.Info("TRACE: Read(\"" + modelName + "\")");
            Model mod = (modelName == "" || name == modelName)? this : getModel(modelName);
// 6/4/17 в дальнейшем надо завести поле CAD в Bootsrap и присваивать ему ts или Ifc
            if (TS.isTeklaActive())
            {
                readCAD readElements = new readCAD(ts.Read);
                elements = readElements(Path.Combine(dir, name));
            }
            else
            {
                elements = Ifc.Read(mod.ifcPath);
            }
#endif //OLD
            log.Info(@"TRACE: Модель = " + name + "\t" + Elm.Elements.Count + " компонентов.");
            return(this);
        }
Exemple #5
0
 /// <summary>
 /// SetModel(boot) - initialize model by reading from TSmatchINFO.xlsx ans Raw.xml or from scratch
 /// </summary>
 /// <remarks>
 /// With unit_test_mode = true not full model initializing happened.
 /// It is used for testing methods are used on initialization stade.
 /// </remarks>
 /// <param name="boot"></param>
 /// <returns>initialized Model</returns>
 public Mod SetModel(Boot boot, bool initSupl = false)
 {
     Log.set("SR.Model(boot)");
     model = new Mod();
     SetModDir(boot);
     GetTSmatchINFO(model, initSupl);
     Log.exit();
     return model;
 }
Exemple #6
0
        public void UT_SetMod_native()
        {
            boot = new Boot(); boot.Init();
            var sr = new SR();

            model = sr.SetModel(boot);

            Assert.IsTrue(sr.CheckModelIntegrity(model));

            FileOp.AppQuit();
        }
Exemple #7
0
        public void UT_Pricing()
        {
            var boot  = new Boot();
            var model = new Mod();

            model.SetModel(boot);

            var mh = new ModHandler();

            mh.Pricing(ref model);
            Assert.IsTrue(model.matches.Count > 0);
        }
Exemple #8
0
 private void Form1_Load(object sender, EventArgs e)
 {
     boot  = new Boot("init");
     model = boot.model;
     if (model.getSavedReport())
     {
         // тут надо спросить пользователя "Будем читать из САПР?"
         //..пока читаю всегда..
         model.getSavedReport(true);
     }
     WrForm(wrForm.modelINFO);
     WrForm(wrForm.modelReport);
 }
Exemple #9
0
        public void UT_PriceList_CheclAll()
        {
            Boot boot = new Boot();

            boot.Init();

            var p = new PriceList();

            p.CheckAll();

            Assert.IsTrue(2 * 2 == 4);

            FileOp.AppQuit();
        }
Exemple #10
0
        private void Form1_Load(object sender, EventArgs e)
        {
            boot  = new Boot();
            model = boot.model;
            WrForm(wrForm.modelINFO);
            WrForm(wrForm.modelReport);
            List <Gr> grLst = new List <Gr>();

            foreach (var gr in model.elmGroups)
            {
                if (gr.totalPrice == 0)
                {
                    grLst.Add(gr);
                }
            }
            model.Highlight(grLst);
        }
Exemple #11
0
        internal string _SetModDir(Boot boot, int testN)
        {
            const string me     = "[SavedReport.SetModelDir]: ";
            string       result = string.Empty;

            model = new Mod();
            boot.isTeklaActive = false;
            if (testN == 1)
            {
                boot.ModelDir = "";
            }
            if (testN == 2)
            {
                boot.ModelDir = @"C:\Windows";
            }

            try { SetModDir(boot); }
            catch (Exception e) { result = __ctch(e, me); }
            return(result);
        }
Exemple #12
0
        public void UT_CheckModelIntegrity_native()
        {
            boot  = new Boot(); boot.Init();
            model = new Mod();
            model = model.sr.SetModel(boot);

            bool ok = model.sr.CheckModelIntegrity(model);

            Assert.IsTrue(ok);
            Assert.IsTrue(model.dir.Length > 0);
            Assert.IsTrue(FileOp.isDirExist(model.dir));
            Assert.IsTrue(model.date > Decl.OLD && model.date <= DateTime.Now);
            Assert.IsTrue(model.pricingDate > Decl.OLD && model.pricingDate <= DateTime.Now);
            Assert.AreEqual(32, model.MD5.Length);
            Assert.AreEqual(32, model.pricingMD5.Length);
            Assert.IsTrue(model.elements.Count > 0);
            Assert.IsTrue(model.elmGroups.Count > 0);

            FileOp.AppQuit();
        }
Exemple #13
0
 protected void SetModDir(Boot boot)
 {
     const string me = "SavedReport__SetModelDir_";
     Msg = boot.Msg;
     if (boot.isTeklaActive)
     {   // if Tekla is active - get Path of TSmatch
         model.name = Path.GetFileNameWithoutExtension(TS.ModInfo.ModelName);
         model.dir = TS.GetTeklaDir(TS.ModelDir.model);
         model.phase = TS.ModInfo.CurrentPhase.ToString();
         //6/4/17                        macroDir = TS.GetTeklaDir(TS.ModelDir.macro);
         model.HighLightClear();
     }
     else
     {   // if Tekla not active - get model attributes from TSmatchINFO.xlsx in ModelDir
         model.dir = boot.ModelDir;
         if (!FileOp.isDirExist(model.dir)) Msg.F(me + "No Model Directory", model.dir);
         if (!Docs.IsDocExist(Decl.TSMATCHINFO_MODELINFO)) Msg.F(me + "No_TSmatchINFO", model.dir);
         dINFO = Docs.getDoc(sINFO, fatal: false);
         if (dINFO == null || dINFO.il < 10 || !FileOp.isDirExist(model.dir)) error();
         model.name = dINFO.Body.Strng(Decl.MODINFO_NAME_R, 2);
         model.phase = dINFO.Body.Strng(Decl.MODINFO_PHASE_R, 2);
     }
 }
Exemple #14
0
 // эта инициализация класса SavedReport общая для всех тестов этого класса
 // здесь используется sr.SetModel в сокращенном режиме, т.е. без обращения к тестируемым методам
 private void init()
 {
     boot  = new Boot();
     model = new Mod();
     model = model.sr.SetModel(boot, initSupl: true);
 }