コード例 #1
0
        /// <summary>
        /// Построение стакана.
        /// </summary>
        /// <param name="parameters">Параметры стакана.</param>
        /// <param name="checkFaceted">Определяем, граненый ли стакан.</param>
        public void CreateDetail(GlassfulParametrs parameters, bool checkFaceted)
        {
            if (_kompas != null)
            {
                _doc3D = (ksDocument3D)_kompas.Document3D();
                _doc3D.Create(false, true);
            }

            var wallwidth       = parameters.WallWidth;
            var highdiameter    = parameters.HighDiameter;
            var height          = parameters.Height;
            var bottomthickness = parameters.BottomThickness;
            var lowdiameter     = parameters.LowDiameter;

            _doc3D = (ksDocument3D)_kompas.ActiveDocument3D();
            _part  = (ksPart)_doc3D.GetPart((short)Part_Type.pTop_Part);

            if (checkFaceted) // Определяем реализацию, если мы нажали на чекбокс, то идем по вектке граненого стакана
            {
                BuildFaceted(wallwidth, highdiameter, height, bottomthickness, lowdiameter);
            }
            else // Иначе строим обычный стакан
            {
                GlassfulSketch(wallwidth, highdiameter, height, bottomthickness, lowdiameter);
            }
        }
コード例 #2
0
        public void Start()
        {
            var writer = new StreamWriter($@"{AppDomain.CurrentDomain.BaseDirectory}\StressTest.txt");//заменено на относительный путь

            var kompas     = StartKompas();
            var builder    = new DetailBuilder(kompas);
            var parameters = new GlassfulParametrs(1.0d, 10.0d, 10.0d, 1.0d, 8.0d);
            var count      = 500;

            var processes = Process.GetProcessesByName("KOMPAS");
            var process   = processes.First();

            var ramCounter = new PerformanceCounter("Process", "Working Set", process.ProcessName);
            var cpuCounter = new PerformanceCounter("Process", "% Processor Time", process.ProcessName);

            for (int i = 0; i < count; i++)
            {
                cpuCounter.NextValue();

                builder.CreateDetail(parameters, false);

                var ram = ramCounter.NextValue();
                var cpu = cpuCounter.NextValue();

                writer.Write($"{i}. ");
                writer.Write($"RAM: {Math.Round(ram / 1024 / 1024)} MB");
                writer.Write($"\tCPU: {cpu} %");
                writer.Write(Environment.NewLine);
                writer.Flush();
            }
        }
コード例 #3
0
 public void TestGlassfulParamets_NanValue
     (double wallWidth, double highDiameter, double height,
     double lowDiameter, double bottomThickness, string attr, string par)
 {
     Assert.Throws <ArgumentException>(
         () => {
         var parameters = new GlassfulParametrs
                              (wallWidth, highDiameter, height, lowDiameter, bottomThickness);
     },
         $"Возникнет исключение если в поле {attr} значение {par}.");
 }
コード例 #4
0
 public void TestGlassfulParametrs_ArgumentValue
     (double wallWidth, double highDiameter, double height,
     double lowDiameter, double bottomThickness, string attr)
 {
     Assert.Throws <ArgumentException>(
         () => {
         var parameters = new GlassfulParametrs
                              (wallWidth, highDiameter, height, lowDiameter, bottomThickness);
     },
         "Должно возникнуть исключение если значение поля "
         + attr + "выходит за диапозон доп-х значений");
 }
コード例 #5
0
        public void TestGlassfulParametrs_CorrectValue()
        {
            var expectedParameters = new GlassfulParametrs(1, 10, 10, 1, 8);
            var actual             = _parameters;

            Assert.AreEqual
                (expectedParameters.WallWidth, actual.WallWidth,
                "Некорректное значение WallWidth");
            Assert.AreEqual
                (expectedParameters.HighDiameter, actual.HighDiameter,
                "Некорректное значение HighDiameter");
            Assert.AreEqual
                (expectedParameters.Height, actual.Height,
                "Некорректное значение Height");
            Assert.AreEqual
                (expectedParameters.LowDiameter, actual.LowDiameter,
                "Некорректное значение LowDiameter");
            Assert.AreEqual
                (expectedParameters.BottomThickness, actual.BottomThickness,
                "Некорректное значение BottomThickness");
        }
コード例 #6
0
 public void Test()
 {
     _parameters = new GlassfulParametrs(1, 10, 10, 1, 8);
 }