From fa13af7f8285a0b9cf217f4aae621adc08e5768a Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Sun, 13 Jun 2021 20:10:23 +0200 Subject: [PATCH] Rearrangements Migrate to Sdk projects. Migrate tests to xUnit. Bump version 0.2.3. Migrate to NetStandar2.0. --- LICENSE.txt | 21 + README.md | 26 ++ SharedAssemblyInfo.cs | 8 - .../ExpressionBinaryNodeTests.cs | 19 +- .../ExpressionNumberNodeTests.cs | 15 +- .../ExpressionStringNodeTests.cs | 15 +- VAR.ExpressionEvaluator.Tests/ParserTests.cs | 371 +++++++++--------- .../Properties/AssemblyInfo.cs | 9 - .../TokenizerTests.cs | 137 ++++--- .../VAR.ExpressionEvaluator.Tests.csproj | 111 +----- VAR.ExpressionEvaluator.sln | 20 +- VAR.ExpressionEvaluator/Build.NuGet.cmd | 26 -- .../Properties/AssemblyInfo.cs | 9 - .../VAR.ExpressionEvaluator.csproj | 100 ++--- .../VAR.ExpressionEvaluator.nuspec | 20 - VAR.ExpressionEvaluator/packages.config | 4 - 16 files changed, 379 insertions(+), 532 deletions(-) create mode 100644 LICENSE.txt create mode 100644 README.md delete mode 100644 SharedAssemblyInfo.cs delete mode 100644 VAR.ExpressionEvaluator.Tests/Properties/AssemblyInfo.cs delete mode 100644 VAR.ExpressionEvaluator/Build.NuGet.cmd delete mode 100644 VAR.ExpressionEvaluator/Properties/AssemblyInfo.cs delete mode 100644 VAR.ExpressionEvaluator/VAR.ExpressionEvaluator.nuspec delete mode 100644 VAR.ExpressionEvaluator/packages.config diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..1707d7b --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2019-2020 Valeriano Alfonso Rodriguez + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..942e303 --- /dev/null +++ b/README.md @@ -0,0 +1,26 @@ +# Expression Evaluation Library + +## Usage + +### VAR.ExpressionEvaluator +Add the resulting assembly as reference in your projects, and this line on code: + +```csharp +using VAR.ExpressionEvaluator; +``` + + +## Building +A Visual Studio solution is provided. Simply, click build on the IDE. + +The build generates a DLL and a Nuget package. + +## Contributing +1. Fork it! +2. Create your feature branch: `git checkout -b my-new-feature` +3. Commit your changes: `git commit -am 'Add some feature'` +4. Push to the branch: `git push origin my-new-feature` +5. Submit a pull request :D + +## Credits +* Valeriano Alfonso Rodriguez. diff --git a/SharedAssemblyInfo.cs b/SharedAssemblyInfo.cs deleted file mode 100644 index 23dfb6a..0000000 --- a/SharedAssemblyInfo.cs +++ /dev/null @@ -1,8 +0,0 @@ -using System.Reflection; - -[assembly: AssemblyCompany("VAR")] -[assembly: AssemblyCopyright("Copyright © VAR 2019-2020")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] -[assembly: AssemblyVersion("0.2.2.0")] -[assembly: AssemblyFileVersion("0.2.2.0")] diff --git a/VAR.ExpressionEvaluator.Tests/ExpressionBinaryNodeTests.cs b/VAR.ExpressionEvaluator.Tests/ExpressionBinaryNodeTests.cs index cdd8cac..2a6f6ec 100644 --- a/VAR.ExpressionEvaluator.Tests/ExpressionBinaryNodeTests.cs +++ b/VAR.ExpressionEvaluator.Tests/ExpressionBinaryNodeTests.cs @@ -1,11 +1,10 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Xunit; namespace VAR.ExpressionEvaluator.Tests { - [TestClass()] public class ExpressionBinaryNodeTests { - [TestMethod()] + [Fact] public void ExpressionBinaryNode__Plus() { var expr = new ExpressionBinaryNode( @@ -16,10 +15,10 @@ namespace VAR.ExpressionEvaluator.Tests var result = expr.Eval(null); - Assert.AreEqual(30m, result); + Assert.Equal(30m, result); } - [TestMethod()] + [Fact] public void ExpressionBinaryNode__Minus() { var expr = new ExpressionBinaryNode( @@ -30,10 +29,10 @@ namespace VAR.ExpressionEvaluator.Tests var result = expr.Eval(null); - Assert.AreEqual(-10m, result); + Assert.Equal(-10m, result); } - [TestMethod()] + [Fact] public void ExpressionBinaryNode__Multiply() { var expr = new ExpressionBinaryNode( @@ -44,10 +43,10 @@ namespace VAR.ExpressionEvaluator.Tests var result = expr.Eval(null); - Assert.AreEqual(200m, result); + Assert.Equal(200m, result); } - [TestMethod()] + [Fact] public void ExpressionBinaryNode__Division() { var expr = new ExpressionBinaryNode( @@ -58,7 +57,7 @@ namespace VAR.ExpressionEvaluator.Tests var result = expr.Eval(null); - Assert.AreEqual(2m, result); + Assert.Equal(2m, result); } } } \ No newline at end of file diff --git a/VAR.ExpressionEvaluator.Tests/ExpressionNumberNodeTests.cs b/VAR.ExpressionEvaluator.Tests/ExpressionNumberNodeTests.cs index 303dc36..acdfc81 100644 --- a/VAR.ExpressionEvaluator.Tests/ExpressionNumberNodeTests.cs +++ b/VAR.ExpressionEvaluator.Tests/ExpressionNumberNodeTests.cs @@ -1,29 +1,28 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Xunit; namespace VAR.ExpressionEvaluator.Tests { - [TestClass()] public class ExpressionNumberNodeTests { - [TestMethod()] + [Fact] public void ExpressionNumberNode__One() { IExpressionNode node = new ExpressionNumberNode(1); - Assert.AreEqual(1m, node.Eval(null)); + Assert.Equal(1m, node.Eval(null)); } - [TestMethod()] + [Fact] public void ExpressionNumberNode__Two() { IExpressionNode node = new ExpressionNumberNode(2); - Assert.AreEqual(2m, node.Eval(null)); + Assert.Equal(2m, node.Eval(null)); } - [TestMethod()] + [Fact] public void ExpressionNumberNode__OneHundredDotFortyFive() { IExpressionNode node = new ExpressionNumberNode(100.45m); - Assert.AreEqual(100.45m, node.Eval(null)); + Assert.Equal(100.45m, node.Eval(null)); } } } \ No newline at end of file diff --git a/VAR.ExpressionEvaluator.Tests/ExpressionStringNodeTests.cs b/VAR.ExpressionEvaluator.Tests/ExpressionStringNodeTests.cs index d3cca8b..fe87421 100644 --- a/VAR.ExpressionEvaluator.Tests/ExpressionStringNodeTests.cs +++ b/VAR.ExpressionEvaluator.Tests/ExpressionStringNodeTests.cs @@ -1,29 +1,28 @@ -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Xunit; namespace VAR.ExpressionEvaluator.Tests { - [TestClass()] public class ExpressionStringNodeTests { - [TestMethod()] + [Fact] public void ExpressionNumberNode__Hello() { IExpressionNode node = new ExpressionStringNode("Hello"); - Assert.AreEqual("Hello", node.Eval(null)); + Assert.Equal("Hello", node.Eval(null)); } - [TestMethod()] + [Fact] public void ExpressionNumberNode__World() { IExpressionNode node = new ExpressionStringNode("World"); - Assert.AreEqual("World", node.Eval(null)); + Assert.Equal("World", node.Eval(null)); } - [TestMethod()] + [Fact] public void ExpressionNumberNode__Hello_World() { IExpressionNode node = new ExpressionStringNode("Hello World"); - Assert.AreEqual("Hello World", node.Eval(null)); + Assert.Equal("Hello World", node.Eval(null)); } } } \ No newline at end of file diff --git a/VAR.ExpressionEvaluator.Tests/ParserTests.cs b/VAR.ExpressionEvaluator.Tests/ParserTests.cs index 50532dd..75e8e02 100644 --- a/VAR.ExpressionEvaluator.Tests/ParserTests.cs +++ b/VAR.ExpressionEvaluator.Tests/ParserTests.cs @@ -1,175 +1,174 @@ using System; using System.Linq; -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Xunit; namespace VAR.ExpressionEvaluator.Tests { - [TestClass()] public class ParserTests { #region Plus and Minus - [TestMethod()] + [Fact] public void PlusAndMinus__Ten_EqualsTen() { string expression = "10"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(10m, result); + Assert.Equal(10m, result); } - [TestMethod()] + [Fact] public void PlusAndMinus__OnePlusTwo_EqualsThree() { string expression = "1 + 2"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(3m, result); + Assert.Equal(3m, result); } - [TestMethod()] + [Fact] public void PlusAndMinus__OneMinusTwo_EqualsMinusOne() { string expression = "1 - 2"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(-1m, result); + Assert.Equal(-1m, result); } - [TestMethod()] + [Fact] public void PlusAndMinus__OneMillionMinusHundredThousands_EqualsNineHundredThousands() { string expression = "1000000 - 100000"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(900000m, result); + Assert.Equal(900000m, result); } #endregion Plus and minus #region Number signs - [TestMethod()] + [Fact] public void Signs__MinusTen() { string expression = "-10"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(-10m, result); + Assert.Equal(-10m, result); } - [TestMethod()] + [Fact] public void Signs__PlusTen() { string expression = "+10"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(10m, result); + Assert.Equal(10m, result); } - [TestMethod()] + [Fact] public void Signs__MinusMinusTen() { string expression = "--10"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(10m, result); + Assert.Equal(10m, result); } - [TestMethod()] + [Fact] public void Signs__MinusPlusChainTen() { string expression = "--++-+-10"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(10m, result); + Assert.Equal(10m, result); } - [TestMethod()] + [Fact] public void Signs__10Minus20Minus30() { string expression = "10 + -20 - +30"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(-40m, result); + Assert.Equal(-40m, result); } #endregion Number signs #region Decimal numbers - [TestMethod()] + [Fact] public void Decimals__OnePointZero() { string expression = "1.0"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(1.0m, result); + Assert.Equal(1.0m, result); } - [TestMethod()] + [Fact] public void Decimals__OnePointOne() { string expression = "1.1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(1.1m, result); + Assert.Equal(1.1m, result); } #endregion Decimal numbers #region Multiplication and division - [TestMethod()] + [Fact] public void MultAndDiv__10MutiplyBy2() { string expression = "10 * 2"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(20m, result); + Assert.Equal(20m, result); } - [TestMethod()] + [Fact] public void MultAndDiv__10DividedBy2() { string expression = "10 / 2"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(5m, result); + Assert.Equal(5m, result); } - [TestMethod()] + [Fact] public void MultAndDiv__5DividedBy2() { string expression = "5 / 2"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(2.5m, result); + Assert.Equal(2.5m, result); } - [TestMethod()] + [Fact] public void MultAndDiv__5DividedBy2Plus1() { string expression = "5 / 2 + 1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(3.5m, result); + Assert.Equal(3.5m, result); } - [TestMethod()] + [Fact] public void MultAndDiv__1Plus5DividedBy2() { string expression = "1 + 5 / 2"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(3.5m, result); + Assert.Equal(3.5m, result); } - [TestMethod()] + [Fact] public void MultAndDiv__5DividedByParen1Plus1() { string expression = "5 / (1 + 1)"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(2.5m, result); + Assert.Equal(2.5m, result); } - [TestMethod()] + [Fact] public void MultAndDiv__Paren2Plus2DividedByParen1Plus1() { string expression = "(2 + 2) / (1 + 1)"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(2m, result); + Assert.Equal(2m, result); } #endregion Multiplication and division #region Variables - [TestMethod()] + [Fact] public void Variables__Var1PlusVar2() { EvaluationContext evaluationContex = new EvaluationContext(); @@ -177,10 +176,10 @@ namespace VAR.ExpressionEvaluator.Tests evaluationContex.SetVariable("v2", 1); string expression = "v1 + v2"; object result = Parser.EvaluateString(expression, evaluationContex); - Assert.AreEqual(2m, result); + Assert.Equal(2m, result); } - [TestMethod()] + [Fact] public void Variables__Var1MultiplyVar2() { EvaluationContext evaluationContex = new EvaluationContext(); @@ -188,10 +187,10 @@ namespace VAR.ExpressionEvaluator.Tests evaluationContex.SetVariable("v2", 5); string expression = "v1 * v2"; object result = Parser.EvaluateString(expression, evaluationContex); - Assert.AreEqual(50m, result); + Assert.Equal(50m, result); } - [TestMethod()] + [Fact] public void Variables__Var1DivideVar2() { EvaluationContext evaluationContex = new EvaluationContext(); @@ -199,14 +198,14 @@ namespace VAR.ExpressionEvaluator.Tests evaluationContex.SetVariable("$v2", 20); string expression = "_v1 / $v2"; object result = Parser.EvaluateString(expression, evaluationContex); - Assert.AreEqual(5m, result); + Assert.Equal(5m, result); } #endregion Variables #region Functions - [TestMethod()] + [Fact] public void Functions__MaxFunction() { EvaluationContext evaluationContex = new EvaluationContext(); @@ -216,10 +215,10 @@ namespace VAR.ExpressionEvaluator.Tests }); string expression = "max(1,2,10,5)"; object result = Parser.EvaluateString(expression, evaluationContex); - Assert.AreEqual(10m, result); + Assert.Equal(10m, result); } - [TestMethod()] + [Fact] public void Functions__NestedTest() { EvaluationContext evaluationContex = new EvaluationContext(); @@ -239,22 +238,22 @@ namespace VAR.ExpressionEvaluator.Tests }); string expression = "iif(linea1>linea2,iif(linea1>linea4, linea1, iif(linea4>linea2,linea4,linea2)),iif(linea2>linea4,linea2,linea4))"; object result = Parser.EvaluateString(expression, evaluationContex); - Assert.AreEqual(4m, result); + Assert.Equal(4m, result); } #endregion Functions #region Strings - [TestMethod()] + [Fact] public void Strings__Contatenate_Hello_World() { string expression = "\"Hello\" + ' ' +\"World\""; object result = Parser.EvaluateString(expression); - Assert.AreEqual("Hello World", result); + Assert.Equal("Hello World", result); } - [TestMethod()] + [Fact] public void Strings__Contatenate_Hello_World_WithVariables() { EvaluationContext evaluationContex = new EvaluationContext(); @@ -263,45 +262,45 @@ namespace VAR.ExpressionEvaluator.Tests evaluationContex.SetVariable("v3", "World"); string expression = "v1 + v2 + v3"; object result = Parser.EvaluateString(expression, evaluationContex); - Assert.AreEqual("Hello World", result); + Assert.Equal("Hello World", result); } - [TestMethod()] + [Fact] public void Strings__Fail_Minus() { string expression = "'Hello' - 'World'"; try { object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception) { } } - [TestMethod()] + [Fact] public void Strings__Fail_Multiply() { string expression = "'Hello' * 'World'"; try { object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception) { } } - [TestMethod()] + [Fact] public void Strings__Fail_Division() { string expression = "'Hello' / 'World'"; try { object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception) { @@ -312,230 +311,230 @@ namespace VAR.ExpressionEvaluator.Tests #region Relations - [TestMethod()] + [Fact] public void Relations_1GreatherThan2_EqualsFalse() { string expression = "1>2"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_StringEmptyGreatherThan1_EqualsFalse() { string expression = "\"\">1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1GreatherThanStringEmpty_EqualsFalse() { string expression = "1>\"\""; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1Equals1_EqualsTrue() { string expression = "1=1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(true, result); + Assert.True((bool?)result); } - [TestMethod()] + [Fact] public void Relations_StringEmptyEquals1_EqualsFalse() { string expression = "\"\"=1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1EqualsStringEmpty_EqualsFalse() { string expression = "1=\"\""; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_10NotEquals1_EqualsTrue() { string expression = "10!=1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(true, result); + Assert.True((bool?)result); } - [TestMethod()] + [Fact] public void Relations_StringEmptyNotEquals1_EqualsTrue() { string expression = "\"\"!=1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(true, result); + Assert.True((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1NotEqualsStringEmpty_EqualsTrue() { string expression = "1!=\"\""; object result = Parser.EvaluateString(expression); - Assert.AreEqual(true, result); + Assert.True((bool?)result); } - [TestMethod()] + [Fact] public void Relations_10Different1_EqualsTrue() { string expression = "10<>1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(true, result); + Assert.True((bool?)result); } - [TestMethod()] + [Fact] public void Relations_StringEmptyDifferent1_EqualsTrue() { string expression = "\"\"<>1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(true, result); + Assert.True((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1DifferentStringEmpty_EqualsTrue() { string expression = "1<>\"\""; object result = Parser.EvaluateString(expression); - Assert.AreEqual(true, result); + Assert.True((bool?)result); } - [TestMethod()] + [Fact] public void Relations_10LessThan1_EqualsFalse() { string expression = "10<1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_StringEmptyLessThan1_EqualsFalse() { string expression = "\"\"<1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1LessThanStringEmpty_EqualsFalse() { string expression = "1<\"\""; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1GreaterOrEqualThan1_EqualsTrue() { string expression = "1>=1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(true, result); + Assert.True((bool?)result); } - [TestMethod()] + [Fact] public void Relations_StringEmptyGreaterOrEqualThan1_EqualsFalse() { string expression = "\"\">=1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1GreaterOrEqualThanStringEmpty_EqualsFalse() { string expression = "1>=\"\""; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1LessOrEqualThan1_EqualsTrue() { string expression = "1<=1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(true, result); + Assert.True((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1GreaterOrEqualThan10_EqualsFalse() { string expression = "1>=10"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_10LessOrEqualThan1_EqualsFalse() { string expression = "10<=1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_StringEmptyLessOrEqualThan1_EqualsFalse() { string expression = "\"\"<=1"; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } - [TestMethod()] + [Fact] public void Relations_1LessOrEqualThanStringEmpty_EqualsFalse() { string expression = "1<=\"\""; object result = Parser.EvaluateString(expression); - Assert.AreEqual(false, result); + Assert.False((bool?)result); } #endregion Relations #region BooleanOps - [TestMethod()] + [Fact] public void BooleanOps_And() { - Assert.AreEqual(false, Parser.EvaluateString("false and false")); - Assert.AreEqual(false, Parser.EvaluateString("false and true")); - Assert.AreEqual(false, Parser.EvaluateString("true and false")); - Assert.AreEqual(true, Parser.EvaluateString("true and true")); + Assert.False((bool?)Parser.EvaluateString("false and false")); + Assert.False((bool?)Parser.EvaluateString("false and true")); + Assert.False((bool?)Parser.EvaluateString("true and false")); + Assert.True((bool?)Parser.EvaluateString("true and true")); - Assert.AreEqual(false, Parser.EvaluateString("false && false")); - Assert.AreEqual(false, Parser.EvaluateString("false && true")); - Assert.AreEqual(false, Parser.EvaluateString("true && false")); - Assert.AreEqual(true, Parser.EvaluateString("true && true")); + Assert.False((bool?)Parser.EvaluateString("false && false")); + Assert.False((bool?)Parser.EvaluateString("false && true")); + Assert.False((bool?)Parser.EvaluateString("true && false")); + Assert.True((bool?)Parser.EvaluateString("true && true")); } - [TestMethod()] + [Fact] public void BooleanOps_Or() { - Assert.AreEqual(false, Parser.EvaluateString("false or false")); - Assert.AreEqual(true, Parser.EvaluateString("false or true")); - Assert.AreEqual(true, Parser.EvaluateString("true or false")); - Assert.AreEqual(true, Parser.EvaluateString("true or true")); + Assert.False((bool?)Parser.EvaluateString("false or false")); + Assert.True((bool?)Parser.EvaluateString("false or true")); + Assert.True((bool?)Parser.EvaluateString("true or false")); + Assert.True((bool?)Parser.EvaluateString("true or true")); - Assert.AreEqual(false, Parser.EvaluateString("false || false")); - Assert.AreEqual(true, Parser.EvaluateString("false || true")); - Assert.AreEqual(true, Parser.EvaluateString("true || false")); - Assert.AreEqual(true, Parser.EvaluateString("true || true")); + Assert.False((bool?)Parser.EvaluateString("false || false")); + Assert.True((bool?)Parser.EvaluateString("false || true")); + Assert.True((bool?)Parser.EvaluateString("true || false")); + Assert.True((bool?)Parser.EvaluateString("true || true")); } - [TestMethod()] + [Fact] public void BooleanOps_Not() { - Assert.AreEqual(true, Parser.EvaluateString("!false")); - Assert.AreEqual(false, Parser.EvaluateString("!true")); + Assert.True((bool?)Parser.EvaluateString("!false")); + Assert.False((bool?)Parser.EvaluateString("!true")); - Assert.AreEqual(true, Parser.EvaluateString("not false")); - Assert.AreEqual(false, Parser.EvaluateString("not true")); + Assert.True((bool?)Parser.EvaluateString("not false")); + Assert.False((bool?)Parser.EvaluateString("not true")); } @@ -544,224 +543,224 @@ namespace VAR.ExpressionEvaluator.Tests #region Null value - [TestMethod()] + [Fact] public void NullValue_NullPlusAnything_EqualsNull() { - Assert.AreEqual(null, Parser.EvaluateString("null + 1")); - Assert.AreEqual(null, Parser.EvaluateString("null + 100")); - Assert.AreEqual(null, Parser.EvaluateString("1 + null")); - Assert.AreEqual(null, Parser.EvaluateString("100 + null")); - Assert.AreEqual(null, Parser.EvaluateString("null + null")); + Assert.Null((bool?)Parser.EvaluateString("null + 1")); + Assert.Null((bool?)Parser.EvaluateString("null + 100")); + Assert.Null((bool?)Parser.EvaluateString("1 + null")); + Assert.Null((bool?)Parser.EvaluateString("100 + null")); + Assert.Null((bool?)Parser.EvaluateString("null + null")); } - [TestMethod()] + [Fact] public void NullValue_NullMinusAnything_EqualsNull() { - Assert.AreEqual(null, Parser.EvaluateString("null - 1")); - Assert.AreEqual(null, Parser.EvaluateString("null - 100")); - Assert.AreEqual(null, Parser.EvaluateString("1 - null")); - Assert.AreEqual(null, Parser.EvaluateString("100 - null")); - Assert.AreEqual(null, Parser.EvaluateString("null - null")); + Assert.Null((bool?)Parser.EvaluateString("null - 1")); + Assert.Null((bool?)Parser.EvaluateString("null - 100")); + Assert.Null((bool?)Parser.EvaluateString("1 - null")); + Assert.Null((bool?)Parser.EvaluateString("100 - null")); + Assert.Null((bool?)Parser.EvaluateString("null - null")); } - [TestMethod()] + [Fact] public void NullValue_NullByAnything_EqualsNull() { - Assert.AreEqual(null, Parser.EvaluateString("null * 1")); - Assert.AreEqual(null, Parser.EvaluateString("null * 100")); - Assert.AreEqual(null, Parser.EvaluateString("1 * null")); - Assert.AreEqual(null, Parser.EvaluateString("100 * null")); - Assert.AreEqual(null, Parser.EvaluateString("null * null")); + Assert.Null((bool?)Parser.EvaluateString("null * 1")); + Assert.Null((bool?)Parser.EvaluateString("null * 100")); + Assert.Null((bool?)Parser.EvaluateString("1 * null")); + Assert.Null((bool?)Parser.EvaluateString("100 * null")); + Assert.Null((bool?)Parser.EvaluateString("null * null")); - Assert.AreEqual(null, Parser.EvaluateString("null / 1")); - Assert.AreEqual(null, Parser.EvaluateString("null / 100")); - Assert.AreEqual(null, Parser.EvaluateString("1 / null")); - Assert.AreEqual(null, Parser.EvaluateString("100 / null")); - Assert.AreEqual(null, Parser.EvaluateString("null / null")); + Assert.Null((bool?)Parser.EvaluateString("null / 1")); + Assert.Null((bool?)Parser.EvaluateString("null / 100")); + Assert.Null((bool?)Parser.EvaluateString("1 / null")); + Assert.Null((bool?)Parser.EvaluateString("100 / null")); + Assert.Null((bool?)Parser.EvaluateString("null / null")); } #endregion #region Excepctions - [TestMethod()] + [Fact] public void Exceptions__HelloAtEnd__UnexpectedCharactersAtEndException() { try { string expression = "1 + 1 \"Hello\""; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedCharactersAtEndException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__TrueAtEndInsideParens__MissingCloseParenthesisException() { try { string expression = "(1+1 true)"; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.MissingCloseParenthesisException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__TrueAtEndInsideFunctionCall__MissingCloseParenthesisException() { try { string expression = "Func(1 true)"; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.MissingCloseParenthesisException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__EOF__UnexpectedEOFException() { try { string expression = ""; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedEOFException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__Plus__UnexpectedEOFException() { try { string expression = "+"; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedEOFException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__Minus__UnexpectedEOFException() { try { string expression = "-"; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedEOFException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__OpenParens__UnexpectedEOFException() { try { string expression = "("; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedEOFException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__Comma__UnexpectedTokenException() { try { string expression = ","; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedTokenException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__Division__UnexpectedTokenException() { try { string expression = "/"; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedTokenException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__Multiply__UnexpectedTokenException() { try { string expression = "*"; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedTokenException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__CloseParens__UnexpectedTokenException() { try { string expression = ")"; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedTokenException)); + Assert.IsType(ex); } } - [TestMethod()] + [Fact] public void Exceptions__Parens__UnexpectedTokenException() { try { string expression = "()"; object result = Parser.EvaluateString(expression); - Assert.Fail(); + Assert.True(false); } catch (Exception ex) { - Assert.IsInstanceOfType(ex, typeof(Parser.UnexpectedTokenException)); + Assert.IsType(ex); } } diff --git a/VAR.ExpressionEvaluator.Tests/Properties/AssemblyInfo.cs b/VAR.ExpressionEvaluator.Tests/Properties/AssemblyInfo.cs deleted file mode 100644 index 21e26c6..0000000 --- a/VAR.ExpressionEvaluator.Tests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("VAR.ExpressionEvaluator.Tests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyProduct("VAR.ExpressionEvaluator.Tests")] -[assembly: ComVisible(false)] -[assembly: Guid("3195f0e0-9489-49ce-8fc2-627a73f80cc7")] diff --git a/VAR.ExpressionEvaluator.Tests/TokenizerTests.cs b/VAR.ExpressionEvaluator.Tests/TokenizerTests.cs index 19b6bb8..bee5588 100644 --- a/VAR.ExpressionEvaluator.Tests/TokenizerTests.cs +++ b/VAR.ExpressionEvaluator.Tests/TokenizerTests.cs @@ -1,230 +1,229 @@ using System.IO; -using Microsoft.VisualStudio.TestTools.UnitTesting; +using Xunit; namespace VAR.ExpressionEvaluator.Tests { - [TestClass()] public class TokenizerTests { - [TestMethod()] + [Fact] public void Tokenizer__Plus() { var testString = "10 + 20"; var t = new Tokenizer(new StringReader(testString)); // "10" - Assert.AreEqual(t.Token, Token.Number); - Assert.AreEqual(t.Number, 10); + Assert.Equal(Token.Number, t.Token); + Assert.Equal(10, t.Number); t.NextToken(); // "+" - Assert.AreEqual(t.Token, Token.Plus); + Assert.Equal(Token.Plus, t.Token); t.NextToken(); // "20" - Assert.AreEqual(t.Token, Token.Number); - Assert.AreEqual(t.Number, 20); + Assert.Equal(Token.Number, t.Token); + Assert.Equal(20, t.Number); t.NextToken(); - Assert.AreEqual(t.Token, Token.EOF); + Assert.Equal(Token.EOF, t.Token); } - [TestMethod()] + [Fact] public void Tokenizer__PlusMinusAndDecimal() { var testString = "10 + 20 - 30.123"; var t = new Tokenizer(new StringReader(testString)); // "10" - Assert.AreEqual(t.Token, Token.Number); - Assert.AreEqual(t.Number, 10); + Assert.Equal(Token.Number, t.Token); + Assert.Equal(10, t.Number); t.NextToken(); // "+" - Assert.AreEqual(t.Token, Token.Plus); + Assert.Equal(Token.Plus, t.Token); t.NextToken(); // "20" - Assert.AreEqual(t.Token, Token.Number); - Assert.AreEqual(t.Number, 20); + Assert.Equal(Token.Number, t.Token); + Assert.Equal(20, t.Number); t.NextToken(); // "-" - Assert.AreEqual(t.Token, Token.Minus); + Assert.Equal(Token.Minus, t.Token); t.NextToken(); // "20" - Assert.AreEqual(t.Token, Token.Number); - Assert.AreEqual(t.Number, 30.123m); + Assert.Equal(Token.Number, t.Token); + Assert.Equal(30.123m, t.Number); t.NextToken(); - Assert.AreEqual(t.Token, Token.EOF); + Assert.Equal(Token.EOF, t.Token); } - [TestMethod()] + [Fact] public void Tokenizer__SimpleString() { var testString = "\"Hello World\""; var t = new Tokenizer(new StringReader(testString)); // "Hello World" - Assert.AreEqual(t.Token, Token.String); - Assert.AreEqual(t.Text, "Hello World"); + Assert.Equal(Token.String, t.Token); + Assert.Equal("Hello World", t.Text); t.NextToken(); - Assert.AreEqual(t.Token, Token.EOF); + Assert.Equal(Token.EOF, t.Token); } - [TestMethod()] + [Fact] public void Tokenizer__StringWithEscaping() { var testString = "\"Hello \\\"World\\\"\""; var t = new Tokenizer(new StringReader(testString)); // "Hello \"World\"" - Assert.AreEqual(t.Token, Token.String); - Assert.AreEqual(t.Text, "Hello \"World\""); + Assert.Equal(Token.String, t.Token); + Assert.Equal("Hello \"World\"", t.Text); t.NextToken(); - Assert.AreEqual(t.Token, Token.EOF); + Assert.Equal(Token.EOF, t.Token); } - [TestMethod()] + [Fact] public void Tokenizer__Identifiers() { var testString = "null true false _$variable1 $variable2 [;{}#]"; var t = new Tokenizer(new StringReader(testString)); // "null" - Assert.AreEqual(t.Token, Token.Identifier); - Assert.AreEqual(t.Text, "null"); + Assert.Equal(Token.Identifier, t.Token); + Assert.Equal("null", t.Text); t.NextToken(); // "true" - Assert.AreEqual(t.Token, Token.Identifier); - Assert.AreEqual(t.Text, "true"); + Assert.Equal(Token.Identifier, t.Token); + Assert.Equal("true", t.Text); t.NextToken(); // "false" - Assert.AreEqual(t.Token, Token.Identifier); - Assert.AreEqual(t.Text, "false"); + Assert.Equal(Token.Identifier, t.Token); + Assert.Equal("false", t.Text); t.NextToken(); // "_$variable1" - Assert.AreEqual(t.Token, Token.Identifier); - Assert.AreEqual(t.Text, "_$variable1"); + Assert.Equal(Token.Identifier, t.Token); + Assert.Equal("_$variable1", t.Text); t.NextToken(); // "$variable2" - Assert.AreEqual(t.Token, Token.Identifier); - Assert.AreEqual(t.Text, "$variable2"); + Assert.Equal(Token.Identifier, t.Token); + Assert.Equal("$variable2", t.Text); t.NextToken(); // ";{}#" - Assert.AreEqual(t.Token, Token.Identifier); - Assert.AreEqual(t.Text, ";{}#"); + Assert.Equal(Token.Identifier, t.Token); + Assert.Equal(";{}#", t.Text); t.NextToken(); - Assert.AreEqual(t.Token, Token.EOF); + Assert.Equal(Token.EOF, t.Token); } - [TestMethod()] + [Fact] public void Tokenizer__AllTogether() { var testString = "(10 + 20) * -30.123 + \"Hello \\\"World\\\"\" = false"; var t = new Tokenizer(new StringReader(testString)); // "(" - Assert.AreEqual(t.Token, Token.ParenthesisStart); + Assert.Equal(Token.ParenthesisStart, t.Token); t.NextToken(); // "10" - Assert.AreEqual(t.Token, Token.Number); - Assert.AreEqual(t.Number, 10); + Assert.Equal(Token.Number, t.Token); + Assert.Equal(10, t.Number); t.NextToken(); // "+" - Assert.AreEqual(t.Token, Token.Plus); + Assert.Equal(Token.Plus, t.Token); t.NextToken(); // "20" - Assert.AreEqual(t.Token, Token.Number); - Assert.AreEqual(t.Number, 20); + Assert.Equal(Token.Number, t.Token); + Assert.Equal(20, t.Number); t.NextToken(); // ")" - Assert.AreEqual(t.Token, Token.ParenthesisEnd); + Assert.Equal(Token.ParenthesisEnd, t.Token); t.NextToken(); // "*" - Assert.AreEqual(t.Token, Token.Multiply); + Assert.Equal(Token.Multiply, t.Token); t.NextToken(); // "-" - Assert.AreEqual(t.Token, Token.Minus); + Assert.Equal(Token.Minus, t.Token); t.NextToken(); // "20" - Assert.AreEqual(t.Token, Token.Number); - Assert.AreEqual(t.Number, 30.123m); + Assert.Equal(Token.Number, t.Token); + Assert.Equal(30.123m, t.Number); t.NextToken(); // "+" - Assert.AreEqual(t.Token, Token.Plus); + Assert.Equal(Token.Plus, t.Token); t.NextToken(); // "Hello \"World\"" - Assert.AreEqual(t.Token, Token.String); - Assert.AreEqual(t.Text, "Hello \"World\""); + Assert.Equal(Token.String, t.Token); + Assert.Equal("Hello \"World\"", t.Text); t.NextToken(); // "=" - Assert.AreEqual(t.Token, Token.Equals); + Assert.Equal(Token.Equals, t.Token); t.NextToken(); // "false" - Assert.AreEqual(t.Token, Token.Identifier); - Assert.AreEqual(t.Text, "false"); + Assert.Equal(Token.Identifier, t.Token); + Assert.Equal("false", t.Text); t.NextToken(); - Assert.AreEqual(t.Token, Token.EOF); + Assert.Equal(Token.EOF, t.Token); } - [TestMethod()] + [Fact] public void Tokenizer__MoreTokens() { var testString = "= < > <= >= == === "; var t = new Tokenizer(new StringReader(testString)); // "=" - Assert.AreEqual(t.Token, Token.Equals); + Assert.Equal(Token.Equals, t.Token); t.NextToken(); // "<" - Assert.AreEqual(t.Token, Token.LessThan); + Assert.Equal(Token.LessThan, t.Token); t.NextToken(); // ">" - Assert.AreEqual(t.Token, Token.GreaterThan); + Assert.Equal(Token.GreaterThan, t.Token); t.NextToken(); // "<=" - Assert.AreEqual(t.Token, Token.LessOrEqualThan); + Assert.Equal(Token.LessOrEqualThan, t.Token); t.NextToken(); // ">=" - Assert.AreEqual(t.Token, Token.GreaterOrEqualThan); + Assert.Equal(Token.GreaterOrEqualThan, t.Token); t.NextToken(); // "==" - Assert.AreEqual(t.Token, Token.Equals); + Assert.Equal(Token.Equals, t.Token); t.NextToken(); // "===" - Assert.AreEqual(t.Token, Token.ExclusiveEquals); + Assert.Equal(Token.ExclusiveEquals, t.Token); t.NextToken(); - Assert.AreEqual(t.Token, Token.EOF); + Assert.Equal(Token.EOF, t.Token); } } diff --git a/VAR.ExpressionEvaluator.Tests/VAR.ExpressionEvaluator.Tests.csproj b/VAR.ExpressionEvaluator.Tests/VAR.ExpressionEvaluator.Tests.csproj index c665f35..9525ca6 100644 --- a/VAR.ExpressionEvaluator.Tests/VAR.ExpressionEvaluator.Tests.csproj +++ b/VAR.ExpressionEvaluator.Tests/VAR.ExpressionEvaluator.Tests.csproj @@ -1,97 +1,26 @@ - - + + - Debug - AnyCPU - {3195F0E0-9489-49CE-8FC2-627A73F80CC7} - Library - Properties - VAR.ExpressionEvaluator.Tests - VAR.ExpressionEvaluator.Tests - v4.6.1 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 10.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages - False - UnitTest - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + net5.0 + + false + - + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + - - - - - - - - - - - - + - - Properties\SharedAssemblyInfo.cs - - - - - - - + - - - {74635F68-55B1-4819-84A3-9EA818D396D9} - VAR.ExpressionEvaluator - - - - - - - False - - - False - - - False - - - False - - - - - - - - \ No newline at end of file + + diff --git a/VAR.ExpressionEvaluator.sln b/VAR.ExpressionEvaluator.sln index e6ee684..e14dde2 100644 --- a/VAR.ExpressionEvaluator.sln +++ b/VAR.ExpressionEvaluator.sln @@ -1,11 +1,17 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.902 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31402.337 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VAR.ExpressionEvaluator", "VAR.ExpressionEvaluator\VAR.ExpressionEvaluator.csproj", "{74635F68-55B1-4819-84A3-9EA818D396D9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VAR.ExpressionEvaluator.Tests", "VAR.ExpressionEvaluator.Tests\VAR.ExpressionEvaluator.Tests.csproj", "{3195F0E0-9489-49CE-8FC2-627A73F80CC7}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Notes", "Notes", "{E4F0EB17-0866-42A7-A1BE-2357C3245C12}" + ProjectSection(SolutionItems) = preProject + LICENSE.txt = LICENSE.txt + README.md = README.md + EndProjectSection +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VAR.ExpressionEvaluator.Tests", "VAR.ExpressionEvaluator.Tests\VAR.ExpressionEvaluator.Tests.csproj", "{89474ADF-B420-4774-BAC8-EFB3FBE28DA6}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -17,10 +23,10 @@ Global {74635F68-55B1-4819-84A3-9EA818D396D9}.Debug|Any CPU.Build.0 = Debug|Any CPU {74635F68-55B1-4819-84A3-9EA818D396D9}.Release|Any CPU.ActiveCfg = Release|Any CPU {74635F68-55B1-4819-84A3-9EA818D396D9}.Release|Any CPU.Build.0 = Release|Any CPU - {3195F0E0-9489-49CE-8FC2-627A73F80CC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3195F0E0-9489-49CE-8FC2-627A73F80CC7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3195F0E0-9489-49CE-8FC2-627A73F80CC7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3195F0E0-9489-49CE-8FC2-627A73F80CC7}.Release|Any CPU.Build.0 = Release|Any CPU + {89474ADF-B420-4774-BAC8-EFB3FBE28DA6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {89474ADF-B420-4774-BAC8-EFB3FBE28DA6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {89474ADF-B420-4774-BAC8-EFB3FBE28DA6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {89474ADF-B420-4774-BAC8-EFB3FBE28DA6}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/VAR.ExpressionEvaluator/Build.NuGet.cmd b/VAR.ExpressionEvaluator/Build.NuGet.cmd deleted file mode 100644 index 6063bf4..0000000 --- a/VAR.ExpressionEvaluator/Build.NuGet.cmd +++ /dev/null @@ -1,26 +0,0 @@ -@echo off - -:: MSBuild and tools path -if exist "%windir%\Microsoft.Net\Framework\v4.0.30319" set MsBuildPath=%windir%\Microsoft.NET\Framework\v4.0.30319 -if exist "%windir%\Microsoft.Net\Framework64\v4.0.30319" set MsBuildPath=%windir%\Microsoft.NET\Framework64\v4.0.30319 -if exist "C:\Program Files (x86)\MSBuild\14.0\Bin" set MsBuildPath=C:\Program Files (x86)\MSBuild\14.0\Bin -if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin" set MsBuildPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin -if exist "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin" set MsBuildPath=C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin -set PATH=%MsBuildPath%;%PATH% - -echo %MsBuildPath% - -:: NuGet -set nuget="nuget" -if exist "%~dp0\..\packages\NuGet.CommandLine.5.3.1\tools\NuGet.exe" set nuget="%~dp0\..\packages\NuGet.CommandLine.5.3.1\tools\NuGet.exe" - -:: Release -Title Building Release -msbuild VAR.ExpressionEvaluator.csproj /t:Build /p:Configuration="Release" /p:Platform="AnyCPU" - -:: Packing Nuget -Title Packing Nuget -%nuget% pack VAR.ExpressionEvaluator.csproj -Verbosity detailed -OutputDir "NuGet" -Properties Configuration="Release" -Prop Platform=AnyCPU - -title Finished -pause diff --git a/VAR.ExpressionEvaluator/Properties/AssemblyInfo.cs b/VAR.ExpressionEvaluator/Properties/AssemblyInfo.cs deleted file mode 100644 index 1ce6981..0000000 --- a/VAR.ExpressionEvaluator/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("VAR.ExpressionEvaluator")] -[assembly: AssemblyDescription("Expression Evaluation Library")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyProduct("VAR.ExpressionEvaluator")] -[assembly: ComVisible(false)] -[assembly: Guid("74635f68-55b1-4819-84a3-9ea818d396d9")] diff --git a/VAR.ExpressionEvaluator/VAR.ExpressionEvaluator.csproj b/VAR.ExpressionEvaluator/VAR.ExpressionEvaluator.csproj index ac477c2..7413b0e 100644 --- a/VAR.ExpressionEvaluator/VAR.ExpressionEvaluator.csproj +++ b/VAR.ExpressionEvaluator/VAR.ExpressionEvaluator.csproj @@ -1,84 +1,30 @@ - - - + - Debug - AnyCPU - {74635F68-55B1-4819-84A3-9EA818D396D9} + netstandard2.0 Library - Properties - VAR.ExpressionEvaluator - VAR.ExpressionEvaluator - v4.6.1 - 512 - true + true + true - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + + VAR.ExpressionEvaluator + VAR.ExpressionEvaluator + 0.2.3 + Expression Evaluation Library + VAR + VAR + Copyright © VAR 2019-2020 + false + LICENSE.txt + https://github.com/Kableado/VAR.ExpressionEvaluator + Expression;Evaluation;Expression Evaluation - - - - - - - - + - - - Properties\SharedAssemblyInfo.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + \ No newline at end of file diff --git a/VAR.ExpressionEvaluator/VAR.ExpressionEvaluator.nuspec b/VAR.ExpressionEvaluator/VAR.ExpressionEvaluator.nuspec deleted file mode 100644 index a74df36..0000000 --- a/VAR.ExpressionEvaluator/VAR.ExpressionEvaluator.nuspec +++ /dev/null @@ -1,20 +0,0 @@ - - - - $id$ - $version$ - $title$ - $author$ - $author$ - https://varstudio.net/VAR.ExpressionEvaluator/LICENSE.txt - https://varstudio.net/VAR.ExpressionEvaluator - false - $description$ - Copyright VAR 2019 - Expression Evaluation - - - - - - \ No newline at end of file diff --git a/VAR.ExpressionEvaluator/packages.config b/VAR.ExpressionEvaluator/packages.config deleted file mode 100644 index a736788..0000000 --- a/VAR.ExpressionEvaluator/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file