From 4efb548234c8f59cb5c6f44284a9b94a70ad1670 Mon Sep 17 00:00:00 2001 From: Mikhalkovich Stanislav Date: Sun, 6 Sep 2020 17:36:17 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20Health?= =?UTF-8?q?=20=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20NUnitABC.pas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ABCStatisticsVisitors.cs | 4 +- VisualPascalABCNET/Form1.Designer.cs | 20 ++++++-- VisualPascalABCNET/Form1.cs | 7 ++- VisualPascalABCNET/Form1.resx | 32 ++++++------ .../VisualPascalABCNET_40.csproj | 9 ++++ bin/Lib/NUnitABC.pas | 50 +++++++++++++++++++ 6 files changed, 100 insertions(+), 22 deletions(-) diff --git a/SyntaxVisitors/UniversalVisitors/ABCStatisticsVisitors.cs b/SyntaxVisitors/UniversalVisitors/ABCStatisticsVisitors.cs index 5e106efba..8e33af274 100644 --- a/SyntaxVisitors/UniversalVisitors/ABCStatisticsVisitors.cs +++ b/SyntaxVisitors/UniversalVisitors/ABCStatisticsVisitors.cs @@ -167,11 +167,11 @@ namespace SyntaxVisitors ReadFuncCount++; }*/ - if (mc.dereferencing_value is ident id1 && (id1.name.ToLower() == "write" || id1.name.ToLower() == "writeln") && + /*if (mc.dereferencing_value is ident id1 && (id1.name.ToLower() == "write" || id1.name.ToLower() == "writeln") && mc.parameters != null && mc.parameters.expressions.Any(ex => ex is char_const cc && cc.cconst == ' ')) { WriteProcWithSpace += 1; - } + }*/ base.visit(mc); } public override void visit(procedure_call pc) diff --git a/VisualPascalABCNET/Form1.Designer.cs b/VisualPascalABCNET/Form1.Designer.cs index f301e396c..2f020c9ef 100644 --- a/VisualPascalABCNET/Form1.Designer.cs +++ b/VisualPascalABCNET/Form1.Designer.cs @@ -195,6 +195,7 @@ namespace VisualPascalABC this.slLine = new System.Windows.Forms.ToolStripStatusLabel(); this.toolStripStatusLabel2 = new System.Windows.Forms.ToolStripStatusLabel(); this.slCol = new System.Windows.Forms.ToolStripStatusLabel(); + this.HealthLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); this.printDialog1 = new System.Windows.Forms.PrintDialog(); @@ -1747,7 +1748,8 @@ namespace VisualPascalABC this.toolStripStatusLabel1, this.slLine, this.toolStripStatusLabel2, - this.slCol}); + this.slCol, + this.HealthLabel}); this.statusStrip1.Location = new System.Drawing.Point(0, 801); this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 21, 0); @@ -1758,7 +1760,7 @@ namespace VisualPascalABC // toolStripStatusLabel5 // this.toolStripStatusLabel5.Name = "toolStripStatusLabel5"; - this.toolStripStatusLabel5.Size = new System.Drawing.Size(964, 19); + this.toolStripStatusLabel5.Size = new System.Drawing.Size(912, 19); this.toolStripStatusLabel5.Spring = true; this.toolStripStatusLabel5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // @@ -1786,10 +1788,21 @@ namespace VisualPascalABC this.slCol.AutoSize = false; this.slCol.AutoToolTip = true; this.slCol.Name = "slCol"; - this.slCol.Size = new System.Drawing.Size(40, 19); + this.slCol.Size = new System.Drawing.Size(46, 19); this.slCol.Text = " numb"; this.slCol.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // + // HealthLabel + // + this.HealthLabel.BackColor = System.Drawing.SystemColors.Control; + this.HealthLabel.IsLink = true; + this.HealthLabel.LinkBehavior = System.Windows.Forms.LinkBehavior.NeverUnderline; + this.HealthLabel.LinkColor = System.Drawing.Color.Black; + this.HealthLabel.Name = "HealthLabel"; + this.HealthLabel.Size = new System.Drawing.Size(19, 19); + this.HealthLabel.Text = " "; + this.HealthLabel.Click += new System.EventHandler(this.HealthLabel_Click); + // // openFileDialog1 // this.openFileDialog1.Multiselect = true; @@ -2628,6 +2641,7 @@ namespace VisualPascalABC private System.Windows.Forms.ToolStripMenuItem mAUTOINSERTToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem mUNITTESTSToolStripMenuItem; private System.Windows.Forms.ToolStripButton toolStripButton1; + private System.Windows.Forms.ToolStripStatusLabel HealthLabel; } } diff --git a/VisualPascalABCNET/Form1.cs b/VisualPascalABCNET/Form1.cs index 1d54ada13..510e8cbe8 100644 --- a/VisualPascalABCNET/Form1.cs +++ b/VisualPascalABCNET/Form1.cs @@ -1817,7 +1817,7 @@ namespace VisualPascalABC } if (stat.WriteProcWithSpace > 0) { - NegativePercent += Math.Min(2 + (stat.StaticArrays - 1) * 1, 5); + NegativePercent += Math.Min(2 + (stat.WriteProcWithSpace - 1) * 1, 5); } if (stat.OldStrings > 0) { @@ -1947,6 +1947,11 @@ namespace VisualPascalABC } } + private void HealthLabel_Click(object sender, EventArgs e) + { + System.Diagnostics.Process.Start("https://pascalabcnet.github.io/program_health.html"); + } + private void tsHelp_Click(object sender, EventArgs e) { __showhelpinqueue(); diff --git a/VisualPascalABCNET/Form1.resx b/VisualPascalABCNET/Form1.resx index 513fddec6..f42f1046b 100644 --- a/VisualPascalABCNET/Form1.resx +++ b/VisualPascalABCNET/Form1.resx @@ -307,6 +307,21 @@ d07lxcgmYqk6sX1iENPfdv0Cx/Wod5mP/rvMkCs5SPPOp5qJQ6WOnVOD2IzXiA6B6TRp9PMK470dqLqN JO8cT/Oxkwa2jmvEz4Mq4ROIn/YrqSJ2nMZWTEFkR8FqVMZSJImFUAKzq534BOJyW/ju7nIk6Q+B49+g +BQZbgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG + YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 + 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw + bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc + VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 + c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 + Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo + mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ + kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D + TgDQASA1MVpwzwAAAABJRU5ErkJggg== @@ -339,21 +354,6 @@ saeS2rb7UOgXaTuVTHazh+J2K72OKDpTHEBh1SiuGV8sLLYtFmb8JHwex090zigDU8LZCb1Pl+WA/KsG Jj3zsvDoBzC8JxbusgseC5B9pmAzIK+sn7b772judaPudtCktaO5bRO+rJXG1hc0aJ5T12iipnaIGtUw 5y4qNgNEqeo7yM0rl+jiFeNZnIk7fyOCEhJ+AymIZtFIMC8OAAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG - YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9 - 0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw - bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc - VzOOpHI7Jr376Hi9ogHqFIANO0/MmmmbmSmm9a8ze+I4MrNWAdjtoJgWcx+PSzg166yZZ8xM8XvXDix9 - c4jIqFYAjoriBV9AhEPv1mH/sonogha0afbZMMZz+yreTGyhpusHwtNNCsA5U1zS4BLxzJIfg299qO32 - Ir7UJtZfftyATqeT+8o2D8JSjQrAJblrncYL7ZJ2+bfaFnC/1S1NjL3diRat7qrO7wLRP3HjWsojBeCo - mDEo5mNjuweFGvjWg2EBhCbpkW78htSHHwRyNdmgAFzPEee2iFkzayy2OLXzT4gr6UdUnlXrullsxxQ+ - kx0g8BTA3aZlButjSTyjODq/WcQcW/B/Je4OQhLvKQDnzN1mp0nnkvAhR8VuMzNrpm1mpjgkoVwB/v8D - TgDQASA1MVpwzwAAAABJRU5ErkJggg== @@ -681,7 +681,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABK - FQAAAk1TRnQBSQFMAgEBEAEAAaQBAQGkAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + FQAAAk1TRnQBSQFMAgEBEAEAAbQBAQG0AQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABQAMAAVADAAEBAQABCAYAARQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA diff --git a/VisualPascalABCNET/VisualPascalABCNET_40.csproj b/VisualPascalABCNET/VisualPascalABCNET_40.csproj index d67309d37..f036ad7a6 100644 --- a/VisualPascalABCNET/VisualPascalABCNET_40.csproj +++ b/VisualPascalABCNET/VisualPascalABCNET_40.csproj @@ -118,6 +118,12 @@ + + Form + + + ABCHealth.cs + Form @@ -416,6 +422,9 @@ Form + + ABCHealth.cs + Designer AboutBox.cs diff --git a/bin/Lib/NUnitABC.pas b/bin/Lib/NUnitABC.pas index f34b3d497..930fcf3d8 100644 --- a/bin/Lib/NUnitABC.pas +++ b/bin/Lib/NUnitABC.pas @@ -9,10 +9,60 @@ begin end; type + CombinatorialAttribute = NUnit.Framework.CombinatorialAttribute; + PairwiseAttribute = NUnit.Framework.PairwiseAttribute; + IgnoreAttribute = NUnit.Framework.IgnoreAttribute; + OrderAttribute = NUnit.Framework.OrderAttribute; SetUpAttribute = NUnit.Framework.SetUpAttribute; + TearDownAttribute = NUnit.Framework.TearDownAttribute; TestAttribute = NUnit.Framework.TestAttribute; TestCaseAttribute = NUnit.Framework.TestCaseAttribute; + TimeoutAttribute = NUnit.Framework.TimeoutAttribute; + RandomAttribute = NUnit.Framework.RandomAttribute; + RangeAttribute = NUnit.Framework.RangeAttribute; + RepeatAttribute = NUnit.Framework.RepeatAttribute; + TestFixtureAttribute = NUnit.Framework.TestFixtureAttribute; + ValuesAttribute = NUnit.Framework.ValuesAttribute; + Assert = NUnit.Framework.Assert; + Assume = NUnit.Framework.Assume; + Does = NUnit.Framework.Does; + Has = NUnit.Framework.Has; + &Is = NUnit.Framework.Is; + StringAssert = NUnit.Framework.StringAssert; + Warn = NUnit.Framework.Warn; + + AllOperator = NUnit.Framework.Constraints.AllOperator; + AndOperator = NUnit.Framework.Constraints.AndOperator; + BinaryOperator = NUnit.Framework.Constraints.BinaryOperator; + CollectionOperator = NUnit.Framework.Constraints.CollectionOperator; + Interval = NUnit.Framework.Constraints.Interval; + OrOperator = NUnit.Framework.Constraints.OrOperator; + WithOperator = NUnit.Framework.Constraints.WithOperator; + + Tolerance = NUnit.Framework.Constraints.Tolerance; + + Constraint = NUnit.Framework.Constraints.Constraint; + + AndConstraint = NUnit.Framework.Constraints.AndConstraint; + AnyOfConstraint = NUnit.Framework.Constraints.AnyOfConstraint; + BinaryConstraint = NUnit.Framework.Constraints.BinaryConstraint; + CollectionConstraint = NUnit.Framework.Constraints.CollectionConstraint; + EndsWithConstraint = NUnit.Framework.Constraints.EndsWithConstraint; + EqualConstraint = NUnit.Framework.Constraints.EqualConstraint; + FalseConstraint = NUnit.Framework.Constraints.FalseConstraint; + GreaterThanConstraint = NUnit.Framework.Constraints.GreaterThanConstraint; + GreaterThanOrEqualConstraint = NUnit.Framework.Constraints.GreaterThanOrEqualConstraint; + LessThanConstraint = NUnit.Framework.Constraints.LessThanConstraint; + LessThanOrEqualConstraint = NUnit.Framework.Constraints.LessThanOrEqualConstraint; + NotConstraint = NUnit.Framework.Constraints.NotConstraint; + OrConstraint = NUnit.Framework.Constraints.OrConstraint; + RangeConstraint = NUnit.Framework.Constraints.RangeConstraint; + StartsWithConstraint = NUnit.Framework.Constraints.StartsWithConstraint; + StringConstraint = NUnit.Framework.Constraints.StringConstraint; + SubStringConstraint = NUnit.Framework.Constraints.SubStringConstraint; + TrueConstraint = NUnit.Framework.Constraints.TrueConstraint; + begin