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); }
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(); }
public void UT_ModHandler_geGroup_Native() { var boot = new Boot(); var model = new Mod(); model.SetModel(boot); }
/// <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); }
/// <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; }
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(); }
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); }
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); }
public void UT_PriceList_CheclAll() { Boot boot = new Boot(); boot.Init(); var p = new PriceList(); p.CheckAll(); Assert.IsTrue(2 * 2 == 4); FileOp.AppQuit(); }
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); }
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); }
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(); }
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); } }
// эта инициализация класса SavedReport общая для всех тестов этого класса // здесь используется sr.SetModel в сокращенном режиме, т.е. без обращения к тестируемым методам private void init() { boot = new Boot(); model = new Mod(); model = model.sr.SetModel(boot, initSupl: true); }