From 1fe49bc41024c6c5e12acf39e2ee26db41087ba4 Mon Sep 17 00:00:00 2001 From: Dmytro Kyshchenko Date: Sat, 16 Nov 2024 13:43:06 +0200 Subject: [PATCH] Use C# 12 collection expressions syntax. --- xFunc.Benchmark/Program.cs | 2 +- xFunc.Maths/Expressions/CallExpression.cs | 4 +- xFunc.Maths/Expressions/Curry.cs | 2 +- xFunc.Maths/Expressions/Derivative.cs | 6 +- .../DifferentParametersExpression.cs | 2 +- xFunc.Maths/Expressions/Lambda.cs | 8 +- .../Expressions/Matrices/MatrixValue.cs | 4 +- .../Expressions/Matrices/VectorValue.cs | 9 +- xFunc.Maths/Expressions/Programming/For.cs | 2 +- xFunc.Maths/Expressions/Programming/If.cs | 4 +- xFunc.Maths/Expressions/Round.cs | 4 +- xFunc.Maths/Expressions/Units/Convert.cs | 2 +- .../Expressions/Units/Converters/Converter.cs | 8 +- .../DifferentiatorTests/NullArgumentTest.cs | 7 +- .../Formatters/CommonFormatterTest.cs | 7 +- .../SimplifierTests/BaseSimplifierTest.cs | 4 +- .../SimplifierTests/SimplifierTest.cs | 8 +- .../TrigonometricSimplifierTest.cs | 52 +- .../Analyzers/TypeAnalyzerTests/AddTests.cs | 42 +- .../Analyzers/TypeAnalyzerTests/DivTests.cs | 16 +- .../Analyzers/TypeAnalyzerTests/MulTests.cs | 32 +- .../TypeAnalyzerTests/StandardTests.cs | 2 +- .../TypeAnalyzerTests/StatisticalTests.cs | 8 +- .../Analyzers/TypeAnalyzerTests/SubTests.cs | 42 +- .../TypeAnalyzerBaseTests.cs | 4 +- xFunc.Tests/Expressions/AddTest.cs | 4 +- xFunc.Tests/Expressions/CallExpressionTest.cs | 16 +- xFunc.Tests/Expressions/CurryTest.cs | 6 +- .../Expressions/Domains/DomainRangeTests.cs | 36 +- .../Expressions/Domains/DomainTests.cs | 52 +- xFunc.Tests/Expressions/LambdaTests.cs | 25 +- .../Expressions/Matrices/InverseTest.cs | 8 +- .../Expressions/Matrices/MatrixTest.cs | 124 ++-- .../Expressions/Matrices/MatrixValueTests.cs | 18 +- .../Expressions/Matrices/TransposeTest.cs | 8 +- .../Expressions/Matrices/VectorTest.cs | 4 +- .../Expressions/Matrices/VectorValueTests.cs | 152 ++--- xFunc.Tests/Expressions/MulTest.cs | 14 +- xFunc.Tests/Expressions/Programming/IfTest.cs | 7 +- .../Statistical/StatisticalTests.cs | 6 +- xFunc.Tests/Expressions/SubTest.cs | 4 +- .../Units/AngleUnits/AngleValueTest.cs | 36 +- .../Units/AreaUnits/AreaUnitTest.cs | 20 +- .../Units/AreaUnits/AreaValueTest.cs | 218 +++---- .../Units/Converters/AngleConverterTests.cs | 40 +- .../Units/Converters/AreaConverterTests.cs | 44 +- .../Units/Converters/ConverterTests.cs | 6 +- .../Units/Converters/LengthConverterTests.cs | 72 +-- .../Units/Converters/MassConverterTests.cs | 28 +- .../Units/Converters/PowerConverterTests.cs | 16 +- .../Converters/TemperatureConverterTests.cs | 16 +- .../Units/Converters/TimeConverterTests.cs | 40 +- .../Units/Converters/VolumeConverterTests.cs | 32 +- .../Units/LengthUnits/LengthUnitTest.cs | 34 +- .../Units/LengthUnits/LengthValueTest.cs | 610 +++++++++--------- .../Units/MassUnits/MassValueTest.cs | 72 +-- .../Units/PowerUnits/PowerValueTest.cs | 18 +- .../TemperatureUnits/TemperatureValueTest.cs | 18 +- .../Units/TimeUnits/TimeValueTest.cs | 176 ++--- .../Units/VolumeUnits/VolumeValueTest.cs | 110 ++-- xFunc.Tests/ParserTests/LambdaTests.cs | 4 +- xFunc.Tests/ParserTests/ParserTest.cs | 2 +- xFunc.Tests/ProcessorTest.cs | 4 +- xFunc.Tests/Results/MatrixResultTest.cs | 4 +- 64 files changed, 1176 insertions(+), 1209 deletions(-) diff --git a/xFunc.Benchmark/Program.cs b/xFunc.Benchmark/Program.cs index e469e6a83..63d0de72a 100644 --- a/xFunc.Benchmark/Program.cs +++ b/xFunc.Benchmark/Program.cs @@ -14,7 +14,7 @@ public class Program public static void Main(string[] args) { if (args is null || args.Length == 0) - args = new[] { "--filter", "*" }; + args = ["--filter", "*"]; BenchmarkSwitcher .FromAssembly(typeof(Program).Assembly) diff --git a/xFunc.Maths/Expressions/CallExpression.cs b/xFunc.Maths/Expressions/CallExpression.cs index a9f2f722c..639b73e9b 100644 --- a/xFunc.Maths/Expressions/CallExpression.cs +++ b/xFunc.Maths/Expressions/CallExpression.cs @@ -17,7 +17,7 @@ public class CallExpression : IExpression, IEquatable /// The expression that returns function. /// The parameter of the function. public CallExpression(IExpression function, IExpression argument) - : this(function, ImmutableArray.Create(argument)) + : this(function, [argument]) { } @@ -28,7 +28,7 @@ public CallExpression(IExpression function, IExpression argument) /// The first parameter of the function. /// The second parameter of the function. public CallExpression(IExpression function, IExpression argument1, IExpression argument2) - : this(function, ImmutableArray.Create(argument1, argument2)) + : this(function, [argument1, argument2]) { } diff --git a/xFunc.Maths/Expressions/Curry.cs b/xFunc.Maths/Expressions/Curry.cs index 6434ce2b6..512ad97b8 100644 --- a/xFunc.Maths/Expressions/Curry.cs +++ b/xFunc.Maths/Expressions/Curry.cs @@ -137,7 +137,7 @@ public object Execute(ExpressionParameters? parameters) var result = Parameters.Aggregate( lambda, - (current, parameter) => (Lambda)current.Call(ImmutableArray.Create(parameter), parameters)); + (current, parameter) => (Lambda)current.Call([parameter], parameters)); return result; } diff --git a/xFunc.Maths/Expressions/Derivative.cs b/xFunc.Maths/Expressions/Derivative.cs index b0cdf6bf4..7180537b4 100644 --- a/xFunc.Maths/Expressions/Derivative.cs +++ b/xFunc.Maths/Expressions/Derivative.cs @@ -20,7 +20,7 @@ public Derivative( IDifferentiator differentiator, ISimplifier simplifier, IExpression expression) - : this(differentiator, simplifier, ImmutableArray.Create(expression)) + : this(differentiator, simplifier, [expression]) { } @@ -36,7 +36,7 @@ public Derivative( ISimplifier simplifier, IExpression expression, Variable variable) - : this(differentiator, simplifier, ImmutableArray.Create(expression, variable)) + : this(differentiator, simplifier, [expression, variable]) { } @@ -54,7 +54,7 @@ public Derivative( IExpression expression, Variable variable, Number point) - : this(differentiator, simplifier, ImmutableArray.Create(expression, variable, point)) + : this(differentiator, simplifier, [expression, variable, point]) { } diff --git a/xFunc.Maths/Expressions/DifferentParametersExpression.cs b/xFunc.Maths/Expressions/DifferentParametersExpression.cs index 4b1fff55c..dd76e541c 100644 --- a/xFunc.Maths/Expressions/DifferentParametersExpression.cs +++ b/xFunc.Maths/Expressions/DifferentParametersExpression.cs @@ -15,7 +15,7 @@ public abstract class DifferentParametersExpression : IExpression /// /// The arguments. protected DifferentParametersExpression(IEnumerable arguments) - : this(arguments.ToImmutableArray()) + : this([..arguments]) { } diff --git a/xFunc.Maths/Expressions/Lambda.cs b/xFunc.Maths/Expressions/Lambda.cs index 853a3cb8b..67dd92391 100644 --- a/xFunc.Maths/Expressions/Lambda.cs +++ b/xFunc.Maths/Expressions/Lambda.cs @@ -16,7 +16,7 @@ namespace xFunc.Maths.Expressions; /// /// The body of the function. public Lambda(IExpression body) - : this(ImmutableArray.Create(), body, null) + : this([], body, null) { } @@ -26,7 +26,7 @@ public Lambda(IExpression body) /// The list of parameters of the function. /// The body of the function. public Lambda(IEnumerable parameters, IExpression body) - : this(parameters.ToImmutableArray(), body, null) + : this([..parameters], body, null) { } @@ -133,9 +133,9 @@ public Lambda Curry() var body = Body; for (var i = Parameters.Length - 1; i > 0; i--) - body = new LambdaExpression(new Lambda(ImmutableArray.Create(Parameters[i]), body)); + body = new LambdaExpression(new Lambda([Parameters[i]], body)); - var lambda = new Lambda(ImmutableArray.Create(Parameters[0]), body); + var lambda = new Lambda([Parameters[0]], body); return lambda; } diff --git a/xFunc.Maths/Expressions/Matrices/MatrixValue.cs b/xFunc.Maths/Expressions/Matrices/MatrixValue.cs index e78a6d833..5dbc1f67c 100644 --- a/xFunc.Maths/Expressions/Matrices/MatrixValue.cs +++ b/xFunc.Maths/Expressions/Matrices/MatrixValue.cs @@ -33,7 +33,7 @@ private MatrixValue(NumberValue[][] values) public static MatrixValue Create(NumberValue value) => new MatrixValue(new NumberValue[][] { - new NumberValue[] { value }, + [value], }); /// @@ -42,7 +42,7 @@ public static MatrixValue Create(NumberValue value) /// The item of a new matrix. /// The matrix. public static MatrixValue Create(VectorValue value) - => new MatrixValue(new[] { value }); + => new MatrixValue([value]); /// /// Creates a new instance of . diff --git a/xFunc.Maths/Expressions/Matrices/VectorValue.cs b/xFunc.Maths/Expressions/Matrices/VectorValue.cs index 806589709..056306c9f 100644 --- a/xFunc.Maths/Expressions/Matrices/VectorValue.cs +++ b/xFunc.Maths/Expressions/Matrices/VectorValue.cs @@ -30,7 +30,7 @@ private VectorValue(NumberValue[] array) /// The item of a new vector. /// The vector. public static VectorValue Create(NumberValue value) - => new VectorValue(new[] { value }); + => new VectorValue([value]); /// /// Creates a new instance of . @@ -339,11 +339,10 @@ public static VectorValue Cross(VectorValue left, VectorValue right) if (left.Size != 3 || right.Size != 3) throw new ArgumentException(Resource.VectorCrossException); - return new VectorValue(new[] - { + return new VectorValue([ left[1] * right[2] - left[2] * right[1], left[2] * right[0] - left[0] * right[2], - left[0] * right[1] - left[1] * right[0], - }); + left[0] * right[1] - left[1] * right[0] + ]); } } \ No newline at end of file diff --git a/xFunc.Maths/Expressions/Programming/For.cs b/xFunc.Maths/Expressions/Programming/For.cs index ef45bcbc3..20705a6bd 100644 --- a/xFunc.Maths/Expressions/Programming/For.cs +++ b/xFunc.Maths/Expressions/Programming/For.cs @@ -19,7 +19,7 @@ public class For : DifferentParametersExpression /// The condition section. /// The iterator section. public For(IExpression body, IExpression init, IExpression cond, IExpression iter) - : this(ImmutableArray.Create(body, init, cond, iter)) + : this([body, init, cond, iter]) { } diff --git a/xFunc.Maths/Expressions/Programming/If.cs b/xFunc.Maths/Expressions/Programming/If.cs index 4e56d82d7..c451e69f3 100644 --- a/xFunc.Maths/Expressions/Programming/If.cs +++ b/xFunc.Maths/Expressions/Programming/If.cs @@ -17,7 +17,7 @@ public class If : DifferentParametersExpression /// The condition. /// The "then" statement. public If(IExpression condition, IExpression then) - : this(ImmutableArray.Create(condition, then)) + : this([condition, then]) { } @@ -28,7 +28,7 @@ public If(IExpression condition, IExpression then) /// The "then" statement. /// The "else" statement. public If(IExpression condition, IExpression then, IExpression @else) - : this(ImmutableArray.Create(condition, then, @else)) + : this([condition, then, @else]) { } diff --git a/xFunc.Maths/Expressions/Round.cs b/xFunc.Maths/Expressions/Round.cs index 4b6138c8a..9cd5d2465 100644 --- a/xFunc.Maths/Expressions/Round.cs +++ b/xFunc.Maths/Expressions/Round.cs @@ -23,7 +23,7 @@ public class Round : DifferentParametersExpression /// /// The expression that represents a double-precision floating-point number to be rounded. public Round(IExpression argument) - : this(ImmutableArray.Create(argument)) + : this([argument]) { } @@ -33,7 +33,7 @@ public Round(IExpression argument) /// The expression that represents a double-precision floating-point number to be rounded. /// The expression that represents the number of fractional digits in the return value. public Round(IExpression argument, IExpression digits) - : this(ImmutableArray.Create(argument, digits)) + : this([argument, digits]) { } diff --git a/xFunc.Maths/Expressions/Units/Convert.cs b/xFunc.Maths/Expressions/Units/Convert.cs index 75c99ebf5..968e14e84 100644 --- a/xFunc.Maths/Expressions/Units/Convert.cs +++ b/xFunc.Maths/Expressions/Units/Convert.cs @@ -20,7 +20,7 @@ public class Convert : IExpression /// The value to convert. /// The target unit. public Convert(IConverter converter, IExpression value, IExpression unit) - : this(converter, ImmutableArray.Create(value, unit)) + : this(converter, [value, unit]) { } diff --git a/xFunc.Maths/Expressions/Units/Converters/Converter.cs b/xFunc.Maths/Expressions/Units/Converters/Converter.cs index 91b6a5804..bfab9ece2 100644 --- a/xFunc.Maths/Expressions/Units/Converters/Converter.cs +++ b/xFunc.Maths/Expressions/Units/Converters/Converter.cs @@ -14,8 +14,8 @@ public class Converter : IConverter /// Initializes a new instance of the class. /// public Converter() - => converters = new IConverter[] - { + => converters = + [ new AngleConverter(), new PowerConverter(), new TemperatureConverter(), @@ -23,8 +23,8 @@ public Converter() new AreaConverter(), new LengthConverter(), new TimeConverter(), - new VolumeConverter(), - }; + new VolumeConverter() + ]; /// public object Convert(object value, string unit) diff --git a/xFunc.Tests/Analyzers/DifferentiatorTests/NullArgumentTest.cs b/xFunc.Tests/Analyzers/DifferentiatorTests/NullArgumentTest.cs index 6f59c1d26..7d996a91d 100644 --- a/xFunc.Tests/Analyzers/DifferentiatorTests/NullArgumentTest.cs +++ b/xFunc.Tests/Analyzers/DifferentiatorTests/NullArgumentTest.cs @@ -1,7 +1,6 @@ // Copyright (c) Dmytro Kyshchenko. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -using System.Collections.Immutable; using System.Reflection; using NUnit.Framework.Internal; @@ -17,11 +16,11 @@ private void TestNullExp(Type type, object exp = null) { var context = typeof(DifferentiatorContext); var method = typeof(Differentiator) - .GetMethod(nameof(Differentiator.Analyze), new[] { type, context }); + .GetMethod(nameof(Differentiator.Analyze), [type, context]); if (method is null) throw new InvalidOperationException("The 'Analyze' method not found."); - method.Invoke(differentiator, new[] { exp, null }); + method.Invoke(differentiator, [exp, null]); } catch (TargetInvocationException e) { @@ -180,7 +179,7 @@ public void CallExpressionContextNullArgument() { var exp = new CallExpression( Variable.X.ToLambdaExpression(Variable.X.Name), - new IExpression[] { Variable.X }.ToImmutableArray()); + [..new IExpression[] { Variable.X }]); Assert.Throws(() => exp.Analyze(differentiator, null)); } diff --git a/xFunc.Tests/Analyzers/Formatters/CommonFormatterTest.cs b/xFunc.Tests/Analyzers/Formatters/CommonFormatterTest.cs index bdf585a2f..90e0d636b 100644 --- a/xFunc.Tests/Analyzers/Formatters/CommonFormatterTest.cs +++ b/xFunc.Tests/Analyzers/Formatters/CommonFormatterTest.cs @@ -1,7 +1,6 @@ // Copyright (c) Dmytro Kyshchenko. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -using System.Collections.Immutable; using System.Numerics; using Matrices = xFunc.Maths.Expressions.Matrices; @@ -507,7 +506,7 @@ public void CallExpressionToStringArgTest() { var exp = new CallExpression( new Variable("f"), - new IExpression[] { new Number(5), Number.Two }.ToImmutableArray()); + [..new IExpression[] { new Number(5), Number.Two }]); Assert.That(exp.ToString(), Is.EqualTo("f(5, 2)")); } @@ -517,7 +516,7 @@ public void InlineCallExpressionToStringArgTest() { var exp = new CallExpression( Variable.X.ToLambdaExpression(Variable.X.Name), - new IExpression[] { new Number(5) }.ToImmutableArray()); + [..new IExpression[] { new Number(5) }]); Assert.That(exp.ToString(), Is.EqualTo("((x) => x)(5)")); } @@ -535,7 +534,7 @@ public void CurryWithParametersTest() { var exp = new Curry( new Lambda(Number.One).AsExpression(), - new IExpression[] { Number.One, Number.Two }.ToImmutableArray()); + [..new IExpression[] { Number.One, Number.Two }]); Assert.That(exp.ToString(), Is.EqualTo("curry(() => 1, 1, 2)")); } diff --git a/xFunc.Tests/Analyzers/SimplifierTests/BaseSimplifierTest.cs b/xFunc.Tests/Analyzers/SimplifierTests/BaseSimplifierTest.cs index 4a8790223..443370103 100644 --- a/xFunc.Tests/Analyzers/SimplifierTests/BaseSimplifierTest.cs +++ b/xFunc.Tests/Analyzers/SimplifierTests/BaseSimplifierTest.cs @@ -27,8 +27,8 @@ protected void TestNullExp(Type type) try { var method = typeof(Simplifier) - .GetMethod(nameof(Simplifier.Analyze), new[] { type }); - method.Invoke(simplifier, new object[] { null }); + .GetMethod(nameof(Simplifier.Analyze), [type]); + method.Invoke(simplifier, [null]); } catch (TargetInvocationException e) { diff --git a/xFunc.Tests/Analyzers/SimplifierTests/SimplifierTest.cs b/xFunc.Tests/Analyzers/SimplifierTests/SimplifierTest.cs index dac67e1fc..d7016a096 100644 --- a/xFunc.Tests/Analyzers/SimplifierTests/SimplifierTest.cs +++ b/xFunc.Tests/Analyzers/SimplifierTests/SimplifierTest.cs @@ -1,8 +1,6 @@ // Copyright (c) Dmytro Kyshchenko. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -using System.Collections.Immutable; - namespace xFunc.Tests.Analyzers.SimplifierTests; public class SimplifierTest : BaseSimplifierTest @@ -235,10 +233,10 @@ public void CallExpressionSimplifiedTest() { var exp = new CallExpression( new Lambda(new[] { "x" }, new Add(Variable.X, Number.Zero)).AsExpression(), - new IExpression[] { new Add(Number.One, Number.One) }.ToImmutableArray()); + [..new IExpression[] { new Add(Number.One, Number.One) }]); var expected = new CallExpression( new Lambda(new[] { "x" }, Variable.X).AsExpression(), - new IExpression[] { Number.Two }.ToImmutableArray()); + [..new IExpression[] { Number.Two }]); SimplifyTest(exp, expected); } @@ -248,7 +246,7 @@ public void CallExpressionNotSimplifiedTest() { var exp = new CallExpression( new Lambda(new[] { "x" }, Variable.X).AsExpression(), - new IExpression[] { Variable.X }.ToImmutableArray()); + [..new IExpression[] { Variable.X }]); SimplifyTest(exp, exp); } diff --git a/xFunc.Tests/Analyzers/SimplifierTests/TrigonometricSimplifierTest.cs b/xFunc.Tests/Analyzers/SimplifierTests/TrigonometricSimplifierTest.cs index 808cce38e..97e99bcf8 100644 --- a/xFunc.Tests/Analyzers/SimplifierTests/TrigonometricSimplifierTest.cs +++ b/xFunc.Tests/Analyzers/SimplifierTests/TrigonometricSimplifierTest.cs @@ -32,57 +32,57 @@ public void InverseFunctionsTest(Type outer, Type inner) public static IEnumerable GetInverseDomainTestData() { - yield return new object[] { new Sin(new Arcsin(Variable.X)), new Sin(new Arcsin(Variable.X)) }; + yield return [new Sin(new Arcsin(Variable.X)), new Sin(new Arcsin(Variable.X))]; - yield return new object[] { new Sin(new Arcsin(Number.One)), Number.One }; + yield return [new Sin(new Arcsin(Number.One)), Number.One]; - yield return new object[] { new Sin(new Arcsin(Number.Two)), new Sin(new Arcsin(Number.Two)) }; + yield return [new Sin(new Arcsin(Number.Two)), new Sin(new Arcsin(Number.Two))]; - yield return new object[] { new Cos(new Arccos(Variable.X)), new Cos(new Arccos(Variable.X)) }; + yield return [new Cos(new Arccos(Variable.X)), new Cos(new Arccos(Variable.X))]; - yield return new object[] { new Cos(new Arccos(Number.One)), Number.One }; + yield return [new Cos(new Arccos(Number.One)), Number.One]; - yield return new object[] { new Cos(new Arccos(Number.Two)), new Cos(new Arccos(Number.Two)) }; + yield return [new Cos(new Arccos(Number.Two)), new Cos(new Arccos(Number.Two))]; - yield return new object[] { new Sec(new Arcsec(Variable.X)), new Sec(new Arcsec(Variable.X)) }; + yield return [new Sec(new Arcsec(Variable.X)), new Sec(new Arcsec(Variable.X))]; - yield return new object[] { new Sec(new Arcsec(Number.Two)), Number.Two }; + yield return [new Sec(new Arcsec(Number.Two)), Number.Two]; - yield return new object[] { new Sec(new Arcsec(Number.Zero)), new Sec(new Arcsec(Number.Zero)) }; + yield return [new Sec(new Arcsec(Number.Zero)), new Sec(new Arcsec(Number.Zero))]; - yield return new object[] { new Csc(new Arccsc(Variable.X)), new Csc(new Arccsc(Variable.X)) }; + yield return [new Csc(new Arccsc(Variable.X)), new Csc(new Arccsc(Variable.X))]; - yield return new object[] { new Csc(new Arccsc(Number.Two)), Number.Two }; + yield return [new Csc(new Arccsc(Number.Two)), Number.Two]; - yield return new object[] { new Csc(new Arccsc(Number.Zero)), new Csc(new Arccsc(Number.Zero)) }; + yield return [new Csc(new Arccsc(Number.Zero)), new Csc(new Arccsc(Number.Zero))]; - yield return new object[] { new Cosh(new Arcosh(Number.Zero)), new Cosh(new Arcosh(Number.Zero)) }; + yield return [new Cosh(new Arcosh(Number.Zero)), new Cosh(new Arcosh(Number.Zero))]; - yield return new object[] { new Cosh(new Arcosh(Number.One)), Number.One }; + yield return [new Cosh(new Arcosh(Number.One)), Number.One]; - yield return new object[] { new Tanh(new Artanh(new Number(-1))), new Tanh(new Artanh(new Number(-1))) }; + yield return [new Tanh(new Artanh(new Number(-1))), new Tanh(new Artanh(new Number(-1)))]; - yield return new object[] { new Tanh(new Artanh(Number.One)), new Tanh(new Artanh(Number.One)) }; + yield return [new Tanh(new Artanh(Number.One)), new Tanh(new Artanh(Number.One))]; - yield return new object[] { new Tanh(new Artanh(Number.Zero)), Number.Zero }; + yield return [new Tanh(new Artanh(Number.Zero)), Number.Zero]; - yield return new object[] { new Csch(new Arcsch(new Number(-1))), new Number(-1) }; + yield return [new Csch(new Arcsch(new Number(-1))), new Number(-1)]; - yield return new object[] { new Csch(new Arcsch(Number.One)), Number.One }; + yield return [new Csch(new Arcsch(Number.One)), Number.One]; - yield return new object[] { new Csch(new Arcsch(Number.Zero)), new Csch(new Arcsch(Number.Zero)) }; + yield return [new Csch(new Arcsch(Number.Zero)), new Csch(new Arcsch(Number.Zero))]; - yield return new object[] { new Sech(new Arsech(new Number(-1))), new Sech(new Arsech(new Number(-1))) }; + yield return [new Sech(new Arsech(new Number(-1))), new Sech(new Arsech(new Number(-1)))]; - yield return new object[] { new Sech(new Arsech(Number.Two)), new Sech(new Arsech(Number.Two)) }; + yield return [new Sech(new Arsech(Number.Two)), new Sech(new Arsech(Number.Two))]; - yield return new object[] { new Sech(new Arsech(Number.One)), Number.One }; + yield return [new Sech(new Arsech(Number.One)), Number.One]; - yield return new object[] { new Coth(new Arcoth(new Number(-2))), new Number(-2) }; + yield return [new Coth(new Arcoth(new Number(-2))), new Number(-2)]; - yield return new object[] { new Coth(new Arcoth(Number.Zero)), new Coth(new Arcoth(Number.Zero)) }; + yield return [new Coth(new Arcoth(Number.Zero)), new Coth(new Arcoth(Number.Zero))]; - yield return new object[] { new Coth(new Arcoth(Number.Two)), Number.Two }; + yield return [new Coth(new Arcoth(Number.Two)), Number.Two]; } [Test] diff --git a/xFunc.Tests/Analyzers/TypeAnalyzerTests/AddTests.cs b/xFunc.Tests/Analyzers/TypeAnalyzerTests/AddTests.cs index c3686339e..888d1244e 100644 --- a/xFunc.Tests/Analyzers/TypeAnalyzerTests/AddTests.cs +++ b/xFunc.Tests/Analyzers/TypeAnalyzerTests/AddTests.cs @@ -1,8 +1,6 @@ // Copyright (c) Dmytro Kyshchenko. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -using System.Collections.Immutable; - namespace xFunc.Tests.Analyzers.TypeAnalyzerTests; public class AddTests : TypeAnalyzerBaseTests @@ -171,7 +169,7 @@ public void TestAddNumberAllTest() Number.One, new CallExpression( new Variable("f"), - new IExpression[] { Number.One }.ToImmutableArray())); + [..new IExpression[] { Number.One }])); Test(exp, ResultTypes.Undefined); } @@ -183,7 +181,7 @@ public void TestAddComplexNumberAllTest() new ComplexNumber(3, 2), new CallExpression( new Variable("f"), - new IExpression[] { Number.One }.ToImmutableArray())); + [..new IExpression[] { Number.One }])); Test(exp, ResultTypes.Undefined); } @@ -195,7 +193,7 @@ public void TestAddVectorAllTest() new Vector(new IExpression[] { Number.One }), new CallExpression( new Variable("f"), - new IExpression[] { Number.One }.ToImmutableArray())); + [..new IExpression[] { Number.One }])); Test(exp, ResultTypes.Undefined); } @@ -211,7 +209,7 @@ public void TestAddMatrixAllTest() matrix, new CallExpression( new Variable("f"), - new IExpression[] { Number.One }.ToImmutableArray())); + [..new IExpression[] { Number.One }])); Test(exp, ResultTypes.Undefined); } @@ -604,29 +602,29 @@ public void TestAddNumberToString() public static IEnumerable GetDataForTestAddAngleAndBoolTest() { - yield return new object[] { AngleValue.Degree(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, AngleValue.Degree(90).AsExpression() }; + yield return [AngleValue.Degree(90).AsExpression(), Bool.False]; + yield return [Bool.False, AngleValue.Degree(90).AsExpression()]; - yield return new object[] { PowerValue.Watt(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, PowerValue.Watt(90).AsExpression() }; + yield return [PowerValue.Watt(90).AsExpression(), Bool.False]; + yield return [Bool.False, PowerValue.Watt(90).AsExpression()]; - yield return new object[] { TemperatureValue.Celsius(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, TemperatureValue.Celsius(90).AsExpression() }; + yield return [TemperatureValue.Celsius(90).AsExpression(), Bool.False]; + yield return [Bool.False, TemperatureValue.Celsius(90).AsExpression()]; - yield return new object[] { MassValue.Gram(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, MassValue.Gram(90).AsExpression() }; + yield return [MassValue.Gram(90).AsExpression(), Bool.False]; + yield return [Bool.False, MassValue.Gram(90).AsExpression()]; - yield return new object[] { LengthValue.Meter(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, LengthValue.Meter(90).AsExpression() }; + yield return [LengthValue.Meter(90).AsExpression(), Bool.False]; + yield return [Bool.False, LengthValue.Meter(90).AsExpression()]; - yield return new object[] { TimeValue.Second(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, TimeValue.Second(90).AsExpression() }; + yield return [TimeValue.Second(90).AsExpression(), Bool.False]; + yield return [Bool.False, TimeValue.Second(90).AsExpression()]; - yield return new object[] { AreaValue.Meter(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, AreaValue.Meter(90).AsExpression() }; + yield return [AreaValue.Meter(90).AsExpression(), Bool.False]; + yield return [Bool.False, AreaValue.Meter(90).AsExpression()]; - yield return new object[] { VolumeValue.Meter(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, VolumeValue.Meter(90).AsExpression() }; + yield return [VolumeValue.Meter(90).AsExpression(), Bool.False]; + yield return [Bool.False, VolumeValue.Meter(90).AsExpression()]; } [Test] diff --git a/xFunc.Tests/Analyzers/TypeAnalyzerTests/DivTests.cs b/xFunc.Tests/Analyzers/TypeAnalyzerTests/DivTests.cs index e7c082261..ad87d01cb 100644 --- a/xFunc.Tests/Analyzers/TypeAnalyzerTests/DivTests.cs +++ b/xFunc.Tests/Analyzers/TypeAnalyzerTests/DivTests.cs @@ -232,14 +232,14 @@ public void TestDivRationalAndNumber() public static IEnumerable GetDataForTestDivAngleAndBoolTest() { - yield return new object[] { AngleValue.Degree(90).AsExpression() }; - yield return new object[] { PowerValue.Watt(90).AsExpression() }; - yield return new object[] { TemperatureValue.Celsius(90).AsExpression() }; - yield return new object[] { MassValue.Gram(90).AsExpression() }; - yield return new object[] { LengthValue.Meter(90).AsExpression() }; - yield return new object[] { TimeValue.Second(90).AsExpression() }; - yield return new object[] { AreaValue.Meter(90).AsExpression() }; - yield return new object[] { VolumeValue.Meter(90).AsExpression() }; + yield return [AngleValue.Degree(90).AsExpression()]; + yield return [PowerValue.Watt(90).AsExpression()]; + yield return [TemperatureValue.Celsius(90).AsExpression()]; + yield return [MassValue.Gram(90).AsExpression()]; + yield return [LengthValue.Meter(90).AsExpression()]; + yield return [TimeValue.Second(90).AsExpression()]; + yield return [AreaValue.Meter(90).AsExpression()]; + yield return [VolumeValue.Meter(90).AsExpression()]; } [Test] diff --git a/xFunc.Tests/Analyzers/TypeAnalyzerTests/MulTests.cs b/xFunc.Tests/Analyzers/TypeAnalyzerTests/MulTests.cs index 1da13000b..aed0febac 100644 --- a/xFunc.Tests/Analyzers/TypeAnalyzerTests/MulTests.cs +++ b/xFunc.Tests/Analyzers/TypeAnalyzerTests/MulTests.cs @@ -463,29 +463,29 @@ public void TestMulRationalAndNumber() public static IEnumerable GetDataForTestMulAngleAndBoolTest() { - yield return new object[] { AngleValue.Degree(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, AngleValue.Degree(90).AsExpression() }; + yield return [AngleValue.Degree(90).AsExpression(), Bool.False]; + yield return [Bool.False, AngleValue.Degree(90).AsExpression()]; - yield return new object[] { PowerValue.Watt(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, PowerValue.Watt(90).AsExpression() }; + yield return [PowerValue.Watt(90).AsExpression(), Bool.False]; + yield return [Bool.False, PowerValue.Watt(90).AsExpression()]; - yield return new object[] { TemperatureValue.Celsius(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, TemperatureValue.Celsius(90).AsExpression() }; + yield return [TemperatureValue.Celsius(90).AsExpression(), Bool.False]; + yield return [Bool.False, TemperatureValue.Celsius(90).AsExpression()]; - yield return new object[] { MassValue.Gram(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, MassValue.Gram(90).AsExpression() }; + yield return [MassValue.Gram(90).AsExpression(), Bool.False]; + yield return [Bool.False, MassValue.Gram(90).AsExpression()]; - yield return new object[] { LengthValue.Meter(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, LengthValue.Meter(90).AsExpression() }; + yield return [LengthValue.Meter(90).AsExpression(), Bool.False]; + yield return [Bool.False, LengthValue.Meter(90).AsExpression()]; - yield return new object[] { TimeValue.Second(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, TimeValue.Second(90).AsExpression() }; + yield return [TimeValue.Second(90).AsExpression(), Bool.False]; + yield return [Bool.False, TimeValue.Second(90).AsExpression()]; - yield return new object[] { AreaValue.Meter(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, AreaValue.Meter(90).AsExpression() }; + yield return [AreaValue.Meter(90).AsExpression(), Bool.False]; + yield return [Bool.False, AreaValue.Meter(90).AsExpression()]; - yield return new object[] { VolumeValue.Meter(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, VolumeValue.Meter(90).AsExpression() }; + yield return [VolumeValue.Meter(90).AsExpression(), Bool.False]; + yield return [Bool.False, VolumeValue.Meter(90).AsExpression()]; } [Test] diff --git a/xFunc.Tests/Analyzers/TypeAnalyzerTests/StandardTests.cs b/xFunc.Tests/Analyzers/TypeAnalyzerTests/StandardTests.cs index 4bae743fa..a08067184 100644 --- a/xFunc.Tests/Analyzers/TypeAnalyzerTests/StandardTests.cs +++ b/xFunc.Tests/Analyzers/TypeAnalyzerTests/StandardTests.cs @@ -298,7 +298,7 @@ public void TestCurryWithLambdaAndParametersExpression() { var exp = new Curry( Number.One.ToLambdaExpression(), - ImmutableArray.Create(Number.One, Number.One)); + [Number.One, Number.One]); Test(exp, ResultTypes.Undefined); } diff --git a/xFunc.Tests/Analyzers/TypeAnalyzerTests/StatisticalTests.cs b/xFunc.Tests/Analyzers/TypeAnalyzerTests/StatisticalTests.cs index 2f139fa11..e77488449 100644 --- a/xFunc.Tests/Analyzers/TypeAnalyzerTests/StatisticalTests.cs +++ b/xFunc.Tests/Analyzers/TypeAnalyzerTests/StatisticalTests.cs @@ -18,7 +18,7 @@ public class StatisticalTests : TypeAnalyzerBaseTests [TestCase(typeof(Varp))] public void TestUndefined(Type type) { - var exp = Create(type, new IExpression[] { Variable.X, Variable.Y }); + var exp = Create(type, [Variable.X, Variable.Y]); Test(exp, ResultTypes.Undefined); } @@ -36,7 +36,7 @@ public void TestUndefined(Type type) [TestCase(typeof(Varp))] public void TestAvgNumber(Type type) { - var exp = Create(type, new IExpression[] { new Number(3), Number.Two }); + var exp = Create(type, [new Number(3), Number.Two]); Test(exp, ResultTypes.Number); } @@ -76,7 +76,7 @@ public void TestVector(Type type) [TestCase(typeof(Varp))] public void TestOneParamException(Type type) { - var exp = CreateDiff(type, new IExpression[] { Bool.False }); + var exp = CreateDiff(type, [Bool.False]); TestDiffParamException(exp); } @@ -94,7 +94,7 @@ public void TestOneParamException(Type type) [TestCase(typeof(Varp))] public void TestParamException(Type type) { - var exp = CreateDiff(type, new IExpression[] { Bool.False, Bool.False }); + var exp = CreateDiff(type, [Bool.False, Bool.False]); TestDiffParamException(exp); } diff --git a/xFunc.Tests/Analyzers/TypeAnalyzerTests/SubTests.cs b/xFunc.Tests/Analyzers/TypeAnalyzerTests/SubTests.cs index 8007147d1..df323363d 100644 --- a/xFunc.Tests/Analyzers/TypeAnalyzerTests/SubTests.cs +++ b/xFunc.Tests/Analyzers/TypeAnalyzerTests/SubTests.cs @@ -1,8 +1,6 @@ // Copyright (c) Dmytro Kyshchenko. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -using System.Collections.Immutable; - namespace xFunc.Tests.Analyzers.TypeAnalyzerTests; public class SubTests : TypeAnalyzerBaseTests @@ -166,7 +164,7 @@ public void SubNumberAllTest() Number.One, new CallExpression( new Variable("f"), - new IExpression[] { Number.One }.ToImmutableArray())); + [..new IExpression[] { Number.One }])); Test(exp, ResultTypes.Undefined); } @@ -178,7 +176,7 @@ public void SubComplexNumberAllTest() new ComplexNumber(3, 2), new CallExpression( new Variable("f"), - new IExpression[] { Number.One }.ToImmutableArray())); + [..new IExpression[] { Number.One }])); Test(exp, ResultTypes.Undefined); } @@ -218,7 +216,7 @@ public void SubVectorAllTest() new Vector(new IExpression[] { Number.One }), new CallExpression( new Variable("f"), - new IExpression[] { Number.One }.ToImmutableArray())); + [..new IExpression[] { Number.One }])); Test(exp, ResultTypes.Undefined); } @@ -234,7 +232,7 @@ public void SubMatrixAllTest() matrix, new CallExpression( new Variable("f"), - new IExpression[] { Number.One }.ToImmutableArray())); + [..new IExpression[] { Number.One }])); Test(exp, ResultTypes.Undefined); } @@ -594,29 +592,29 @@ public void TestSubRationalAndNumber() public static IEnumerable GetDataForTestSubAngleAndBoolTest() { - yield return new object[] { AngleValue.Degree(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, AngleValue.Degree(90).AsExpression() }; + yield return [AngleValue.Degree(90).AsExpression(), Bool.False]; + yield return [Bool.False, AngleValue.Degree(90).AsExpression()]; - yield return new object[] { PowerValue.Watt(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, PowerValue.Watt(90).AsExpression() }; + yield return [PowerValue.Watt(90).AsExpression(), Bool.False]; + yield return [Bool.False, PowerValue.Watt(90).AsExpression()]; - yield return new object[] { TemperatureValue.Celsius(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, TemperatureValue.Celsius(90).AsExpression() }; + yield return [TemperatureValue.Celsius(90).AsExpression(), Bool.False]; + yield return [Bool.False, TemperatureValue.Celsius(90).AsExpression()]; - yield return new object[] { MassValue.Gram(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, MassValue.Gram(90).AsExpression() }; + yield return [MassValue.Gram(90).AsExpression(), Bool.False]; + yield return [Bool.False, MassValue.Gram(90).AsExpression()]; - yield return new object[] { LengthValue.Meter(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, LengthValue.Meter(90).AsExpression() }; + yield return [LengthValue.Meter(90).AsExpression(), Bool.False]; + yield return [Bool.False, LengthValue.Meter(90).AsExpression()]; - yield return new object[] { TimeValue.Second(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, TimeValue.Second(90).AsExpression() }; + yield return [TimeValue.Second(90).AsExpression(), Bool.False]; + yield return [Bool.False, TimeValue.Second(90).AsExpression()]; - yield return new object[] { AreaValue.Meter(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, AreaValue.Meter(90).AsExpression() }; + yield return [AreaValue.Meter(90).AsExpression(), Bool.False]; + yield return [Bool.False, AreaValue.Meter(90).AsExpression()]; - yield return new object[] { VolumeValue.Meter(90).AsExpression(), Bool.False }; - yield return new object[] { Bool.False, VolumeValue.Meter(90).AsExpression() }; + yield return [VolumeValue.Meter(90).AsExpression(), Bool.False]; + yield return [Bool.False, VolumeValue.Meter(90).AsExpression()]; } [Test] diff --git a/xFunc.Tests/Analyzers/TypeAnalyzerTests/TypeAnalyzerBaseTests.cs b/xFunc.Tests/Analyzers/TypeAnalyzerTests/TypeAnalyzerBaseTests.cs index b2fa4471a..de4f4b0f1 100644 --- a/xFunc.Tests/Analyzers/TypeAnalyzerTests/TypeAnalyzerBaseTests.cs +++ b/xFunc.Tests/Analyzers/TypeAnalyzerTests/TypeAnalyzerBaseTests.cs @@ -42,8 +42,8 @@ protected void TestNullExp(Type type) try { var method = typeof(TypeAnalyzer) - .GetMethod(nameof(TypeAnalyzer.Analyze), new[] { type }); - method.Invoke(analyzer, new object[] { null }); + .GetMethod(nameof(TypeAnalyzer.Analyze), [type]); + method.Invoke(analyzer, [null]); } catch (TargetInvocationException e) { diff --git a/xFunc.Tests/Expressions/AddTest.cs b/xFunc.Tests/Expressions/AddTest.cs index 11b21d8e8..98a19031b 100644 --- a/xFunc.Tests/Expressions/AddTest.cs +++ b/xFunc.Tests/Expressions/AddTest.cs @@ -93,8 +93,8 @@ public void AddTwoMatricesTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(15), new NumberValue(5) }, - new NumberValue[] { new NumberValue(6), new NumberValue(4) }, + [new NumberValue(15), new NumberValue(5)], + [new NumberValue(6), new NumberValue(4)], }); var result = add.Execute(); diff --git a/xFunc.Tests/Expressions/CallExpressionTest.cs b/xFunc.Tests/Expressions/CallExpressionTest.cs index ec029c518..8b191e912 100644 --- a/xFunc.Tests/Expressions/CallExpressionTest.cs +++ b/xFunc.Tests/Expressions/CallExpressionTest.cs @@ -46,7 +46,7 @@ public void NotEqualsParametersTest() ImmutableArray.Empty); var exp2 = new CallExpression( new Lambda(Array.Empty(), Number.One).AsExpression(), - new IExpression[] { Number.One }.ToImmutableArray()); + [Number.One]); Assert.That(exp1.Equals(exp2), Is.False); } @@ -72,7 +72,7 @@ public void NotEqualsTest() ImmutableArray.Empty); var exp2 = new CallExpression( new Lambda(Array.Empty(), Number.One).AsExpression(), - new IExpression[] { Number.One }.ToImmutableArray()); + [Number.One]); Assert.That(exp1.Equals(exp2), Is.False); } @@ -129,7 +129,7 @@ public void NotEqualsObjectTest() ImmutableArray.Empty); var exp2 = new CallExpression( new Lambda(Array.Empty(), Number.One).AsExpression(), - new IExpression[] { Number.One }.ToImmutableArray()); + [Number.One]); Assert.That(exp1.Equals((object)exp2), Is.False); } @@ -165,7 +165,7 @@ public void ExecuteWithNotFunctionTest() Number.One, ImmutableArray.Empty); - Assert.Throws(() => exp.Execute(new ExpressionParameters())); + Assert.Throws(() => exp.Execute([])); } [Test] @@ -175,7 +175,7 @@ public void ExecuteWithoutParametersTest() new Lambda(Array.Empty(), Number.One).AsExpression(), ImmutableArray.Empty); - var result = exp.Execute(new ExpressionParameters()); + var result = exp.Execute([]); var expected = Number.One.Value; Assert.That(result, Is.EqualTo(expected)); @@ -185,10 +185,10 @@ public void ExecuteWithoutParametersTest() public void ExecuteWithParametersTest() { var exp = new CallExpression( - new Lambda(new[] { Variable.X.Name }, Variable.X).AsExpression(), - new IExpression[] { Number.One }.ToImmutableArray()); + new Lambda([Variable.X.Name], Variable.X).AsExpression(), + [Number.One]); - var result = exp.Execute(new ExpressionParameters()); + var result = exp.Execute([]); var expected = Number.One.Value; Assert.That(result, Is.EqualTo(expected)); diff --git a/xFunc.Tests/Expressions/CurryTest.cs b/xFunc.Tests/Expressions/CurryTest.cs index 7a1c824b4..bc65b295a 100644 --- a/xFunc.Tests/Expressions/CurryTest.cs +++ b/xFunc.Tests/Expressions/CurryTest.cs @@ -53,7 +53,7 @@ public void ExecuteTooManyParametersTest() { var exp = new Curry( Number.One.ToLambdaExpression(), - new IExpression[] { Number.One }.ToImmutableArray()); + [Number.One]); Assert.Throws(() => exp.Execute()); } @@ -63,7 +63,7 @@ public void ExecuteExactAmountParametersTest() { var exp = new Curry( Variable.X.ToLambdaExpression("x"), - new IExpression[] { Number.One }.ToImmutableArray()); + [Number.One]); var result = exp.Execute(); @@ -88,7 +88,7 @@ public void ExecuteCurryTest() { var exp = new Curry( new Add(Variable.X, Variable.Y).ToLambdaExpression("x", "y"), - new IExpression[] { Number.One }.ToImmutableArray()); + [Number.One]); var expected = new Add(Variable.X, Variable.Y).ToLambda("y"); var result = exp.Execute(); diff --git a/xFunc.Tests/Expressions/Domains/DomainRangeTests.cs b/xFunc.Tests/Expressions/Domains/DomainRangeTests.cs index 9eaa00550..db622fe09 100644 --- a/xFunc.Tests/Expressions/Domains/DomainRangeTests.cs +++ b/xFunc.Tests/Expressions/Domains/DomainRangeTests.cs @@ -9,12 +9,12 @@ public class DomainRangeTests { public static IEnumerable GetCtorTestData() { - yield return new object[] { NumberValue.NegativeInfinity, true, NumberValue.One, false }; - yield return new object[] { NumberValue.PositiveInfinity, true, NumberValue.One, false }; - yield return new object[] { NumberValue.One, false, NumberValue.NegativeInfinity, true }; - yield return new object[] { NumberValue.One, false, NumberValue.PositiveInfinity, true }; - yield return new object[] { NumberValue.NegativeInfinity, true, NumberValue.PositiveInfinity, true }; - yield return new object[] { NumberValue.Two, true, NumberValue.One, true }; + yield return [NumberValue.NegativeInfinity, true, NumberValue.One, false]; + yield return [NumberValue.PositiveInfinity, true, NumberValue.One, false]; + yield return [NumberValue.One, false, NumberValue.NegativeInfinity, true]; + yield return [NumberValue.One, false, NumberValue.PositiveInfinity, true]; + yield return [NumberValue.NegativeInfinity, true, NumberValue.PositiveInfinity, true]; + yield return [NumberValue.Two, true, NumberValue.One, true]; } [Test] @@ -114,10 +114,10 @@ public void NotEqualOperatorTest() public static IEnumerable GetToStringTestData() { - yield return new object[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true), "[-1; 1]" }; - yield return new object[] { new DomainRange(-NumberValue.One, true, NumberValue.One, false), "[-1; 1)" }; - yield return new object[] { new DomainRange(-NumberValue.One, false, NumberValue.One, true), "(-1; 1]" }; - yield return new object[] { new DomainRange(-NumberValue.One, false, NumberValue.One, false), "(-1; 1)" }; + yield return [new DomainRange(-NumberValue.One, true, NumberValue.One, true), "[-1; 1]"]; + yield return [new DomainRange(-NumberValue.One, true, NumberValue.One, false), "[-1; 1)"]; + yield return [new DomainRange(-NumberValue.One, false, NumberValue.One, true), "(-1; 1]"]; + yield return [new DomainRange(-NumberValue.One, false, NumberValue.One, false), "(-1; 1)"]; } [Test] @@ -127,10 +127,10 @@ public void ToStringTest(DomainRange range, string expected) public static IEnumerable GetInRangeTestData() { - yield return new object[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true), NumberValue.Zero }; - yield return new object[] { new DomainRange(-NumberValue.One, true, NumberValue.One, false), NumberValue.Zero }; - yield return new object[] { new DomainRange(-NumberValue.One, false, NumberValue.One, true), NumberValue.Zero }; - yield return new object[] { new DomainRange(-NumberValue.One, false, NumberValue.One, false), NumberValue.Zero }; + yield return [new DomainRange(-NumberValue.One, true, NumberValue.One, true), NumberValue.Zero]; + yield return [new DomainRange(-NumberValue.One, true, NumberValue.One, false), NumberValue.Zero]; + yield return [new DomainRange(-NumberValue.One, false, NumberValue.One, true), NumberValue.Zero]; + yield return [new DomainRange(-NumberValue.One, false, NumberValue.One, false), NumberValue.Zero]; } [Test] @@ -140,10 +140,10 @@ public void InRangeTest(DomainRange range, NumberValue number) public static IEnumerable GetNotInRangeTestTest() { - yield return new object[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true), NumberValue.Two }; - yield return new object[] { new DomainRange(-NumberValue.One, true, NumberValue.One, false), NumberValue.Two }; - yield return new object[] { new DomainRange(-NumberValue.One, false, NumberValue.One, true), NumberValue.Two }; - yield return new object[] { new DomainRange(-NumberValue.One, false, NumberValue.One, false), NumberValue.Two }; + yield return [new DomainRange(-NumberValue.One, true, NumberValue.One, true), NumberValue.Two]; + yield return [new DomainRange(-NumberValue.One, true, NumberValue.One, false), NumberValue.Two]; + yield return [new DomainRange(-NumberValue.One, false, NumberValue.One, true), NumberValue.Two]; + yield return [new DomainRange(-NumberValue.One, false, NumberValue.One, false), NumberValue.Two]; } [Test] diff --git a/xFunc.Tests/Expressions/Domains/DomainTests.cs b/xFunc.Tests/Expressions/Domains/DomainTests.cs index 0ef0d7922..99d62356c 100644 --- a/xFunc.Tests/Expressions/Domains/DomainTests.cs +++ b/xFunc.Tests/Expressions/Domains/DomainTests.cs @@ -6,8 +6,8 @@ public class DomainTests { public static IEnumerable GetCtorTestData() { - yield return new object[] { null }; - yield return new object[] { Array.Empty() }; + yield return [null]; + yield return [Array.Empty()]; } [Test] @@ -17,17 +17,16 @@ public void CtorNullTest(DomainRange[] ranges) [Test] public void CtorInvalidDomainTest() - => Assert.Throws(() => new Domain(new DomainRange[] - { + => Assert.Throws(() => new Domain([ new DomainRange(NumberValue.One, true, NumberValue.Two, true), - new DomainRange(NumberValue.NegativeInfinity, false, -NumberValue.One, true), - })); + new DomainRange(NumberValue.NegativeInfinity, false, -NumberValue.One, true) + ])); [Test] public void EqualTest() { - var a = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }); - var b = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }); + var a = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]); + var b = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]); Assert.That(a.Equals(b), Is.True); } @@ -35,8 +34,8 @@ public void EqualTest() [Test] public void NotEqualTest() { - var a = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }); - var b = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, false, NumberValue.One, true) }); + var a = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]); + var b = new Domain([new DomainRange(-NumberValue.One, false, NumberValue.One, true)]); Assert.That(a.Equals(b), Is.False); } @@ -44,8 +43,8 @@ public void NotEqualTest() [Test] public void ObjectEqualTest() { - var a = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }); - var b = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }) as object; + var a = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]); + var b = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]) as object; Assert.That(a.Equals(b), Is.True); } @@ -53,8 +52,8 @@ public void ObjectEqualTest() [Test] public void ObjectNotEqualTest1() { - var a = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }); - var b = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, false, NumberValue.One, true) }) as object; + var a = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]); + var b = new Domain([new DomainRange(-NumberValue.One, false, NumberValue.One, true)]) as object; Assert.That(a.Equals(b), Is.False); } @@ -62,7 +61,7 @@ public void ObjectNotEqualTest1() [Test] public void ObjectNotEqualTest2() { - var a = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }); + var a = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]); var b = new object(); Assert.That(a.Equals(b), Is.False); @@ -71,8 +70,8 @@ public void ObjectNotEqualTest2() [Test] public void EqualOperatorTest() { - var a = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }); - var b = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }); + var a = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]); + var b = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]); Assert.That(a == b, Is.True); } @@ -80,8 +79,8 @@ public void EqualOperatorTest() [Test] public void NotEqualOperatorTest() { - var a = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, true, NumberValue.One, true) }); - var b = new Domain(new DomainRange[] { new DomainRange(-NumberValue.One, false, NumberValue.One, true) }); + var a = new Domain([new DomainRange(-NumberValue.One, true, NumberValue.One, true)]); + var b = new Domain([new DomainRange(-NumberValue.One, false, NumberValue.One, true)]); Assert.That(a != b, Is.True); } @@ -89,11 +88,10 @@ public void NotEqualOperatorTest() [Test] public void ToStringTest() { - var domain = new Domain(new DomainRange[] - { + var domain = new Domain([ new DomainRange(NumberValue.NegativeInfinity, false, -NumberValue.One, true), new DomainRange(NumberValue.One, true, NumberValue.PositiveInfinity, false) - }); + ]); var expected = "(-∞; -1] ∪ [1; ∞)"; Assert.That(domain.ToString(), Is.EqualTo(expected)); @@ -102,11 +100,10 @@ public void ToStringTest() [Test] public void InRangeTest() { - var domain = new Domain(new DomainRange[] - { + var domain = new Domain([ new DomainRange(NumberValue.NegativeInfinity, false, -NumberValue.One, true), new DomainRange(NumberValue.One, true, NumberValue.PositiveInfinity, false) - }); + ]); var result = domain.IsInRange(NumberValue.One); Assert.That(result, Is.True); @@ -115,11 +112,10 @@ public void InRangeTest() [Test] public void NotInRangeTest() { - var domain = new Domain(new DomainRange[] - { + var domain = new Domain([ new DomainRange(NumberValue.NegativeInfinity, false, -NumberValue.One, true), new DomainRange(NumberValue.One, true, NumberValue.PositiveInfinity, false) - }); + ]); var result = domain.IsInRange(NumberValue.Zero); Assert.That(result, Is.False); diff --git a/xFunc.Tests/Expressions/LambdaTests.cs b/xFunc.Tests/Expressions/LambdaTests.cs index 2628963dc..813ce8d65 100644 --- a/xFunc.Tests/Expressions/LambdaTests.cs +++ b/xFunc.Tests/Expressions/LambdaTests.cs @@ -1,8 +1,6 @@ // Copyright (c) Dmytro Kyshchenko. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -using System.Collections.Immutable; - namespace xFunc.Tests.Expressions; public class LambdaTests @@ -133,8 +131,8 @@ public void CallWithParameterTest() new Add(Variable.X, Variable.Y)); var result = function.Call( - new IExpression[] { Number.One, Number.Two }.ToImmutableArray(), - new ExpressionParameters()); + [Number.One, Number.Two], + []); Assert.That(result, Is.EqualTo(new NumberValue(3))); } @@ -145,14 +143,11 @@ public void CallCapturedTest() var function = new Lambda( new[] { "x", "y" }, new Add(new Add(Variable.X, Variable.Y), new Variable("a"))); - function = function.Capture(new ExpressionParameters - { - new Parameter("a", 3.0) - }); + function = function.Capture([new Parameter("a", 3.0)]); var result = function.Call( - new IExpression[] { Number.One, Number.Two }.ToImmutableArray(), - new ExpressionParameters()); + [Number.One, Number.Two], + []); Assert.That(result, Is.EqualTo(new NumberValue(6))); } @@ -161,13 +156,13 @@ public void CallCapturedTest() public void CallReturnLambdaTest() { var function = new Lambda( - new[] { "x" }, - new Lambda(new[] { "y" }, new Add(Variable.X, Variable.Y)).AsExpression()); + ["x"], + new Lambda(["y"], new Add(Variable.X, Variable.Y)).AsExpression()); var result = function.Call( - new IExpression[] { Number.One, Number.Two }.ToImmutableArray(), - new ExpressionParameters()); - var expected = new Lambda(new[] { "y" }, new Add(Variable.X, Variable.Y)); + [Number.One, Number.Two], + []); + var expected = new Lambda(["y"], new Add(Variable.X, Variable.Y)); Assert.That(result, Is.EqualTo(expected)); } diff --git a/xFunc.Tests/Expressions/Matrices/InverseTest.cs b/xFunc.Tests/Expressions/Matrices/InverseTest.cs index 780fccf8b..518084db1 100644 --- a/xFunc.Tests/Expressions/Matrices/InverseTest.cs +++ b/xFunc.Tests/Expressions/Matrices/InverseTest.cs @@ -17,10 +17,10 @@ public void ExecuteMatrixTest() }); var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(0.0970873786407767), new NumberValue(-0.18270079435128), new NumberValue(-0.114739629302736), new NumberValue(0.224183583406884) }, - new NumberValue[] { new NumberValue(-0.0194174757281553), new NumberValue(0.145631067961165), new NumberValue(-0.0679611650485437), new NumberValue(0.00970873786407767) }, - new NumberValue[] { new NumberValue(-0.087378640776699), new NumberValue(0.0644307149161518), new NumberValue(0.103265666372463), new NumberValue(-0.00176522506619595) }, - new NumberValue[] { new NumberValue(0.203883495145631), new NumberValue(-0.120035304501324), new NumberValue(0.122683142100618), new NumberValue(-0.147396293027361) }, + [new NumberValue(0.0970873786407767), new NumberValue(-0.18270079435128), new NumberValue(-0.114739629302736), new NumberValue(0.224183583406884)], + [new NumberValue(-0.0194174757281553), new NumberValue(0.145631067961165), new NumberValue(-0.0679611650485437), new NumberValue(0.00970873786407767)], + [new NumberValue(-0.087378640776699), new NumberValue(0.0644307149161518), new NumberValue(0.103265666372463), new NumberValue(-0.00176522506619595)], + [new NumberValue(0.203883495145631), new NumberValue(-0.120035304501324), new NumberValue(0.122683142100618), new NumberValue(-0.147396293027361)], }); var exp = new Inverse(matrix); diff --git a/xFunc.Tests/Expressions/Matrices/MatrixTest.cs b/xFunc.Tests/Expressions/Matrices/MatrixTest.cs index 87b77c349..77f555b12 100644 --- a/xFunc.Tests/Expressions/Matrices/MatrixTest.cs +++ b/xFunc.Tests/Expressions/Matrices/MatrixTest.cs @@ -23,8 +23,8 @@ public void ExecuteTest() var result = matrix.Execute(); var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(3) }, - new NumberValue[] { new NumberValue(-1) }, + [new NumberValue(3)], + [new NumberValue(-1)], }); Assert.That(expected, Is.EqualTo(result)); @@ -41,8 +41,8 @@ public void MulByNumberMatrixTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(10), new NumberValue(15) }, - new NumberValue[] { new NumberValue(45), new NumberValue(25) }, + [new NumberValue(10), new NumberValue(15)], + [new NumberValue(45), new NumberValue(25)], }); var result = exp.Execute(); @@ -66,8 +66,8 @@ public void AddMatricesTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(15), new NumberValue(5) }, - new NumberValue[] { new NumberValue(6), new NumberValue(4) }, + [new NumberValue(15), new NumberValue(5)], + [new NumberValue(6), new NumberValue(4)], }); var result = exp.Execute(); @@ -121,8 +121,8 @@ public void SubMatricesTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(-3), new NumberValue(1) }, - new NumberValue[] { new NumberValue(-2), new NumberValue(-2) }, + [new NumberValue(-3), new NumberValue(1)], + [new NumberValue(-2), new NumberValue(-2)], }); var result = exp.Execute(); @@ -172,8 +172,8 @@ public void TransposeMatrixTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { NumberValue.One, new NumberValue(3), new NumberValue(5) }, - new NumberValue[] { NumberValue.Two, new NumberValue(4), new NumberValue(6) }, + [NumberValue.One, new NumberValue(3), new NumberValue(5)], + [NumberValue.Two, new NumberValue(4), new NumberValue(6)], }); var result = exp.Execute(); @@ -197,8 +197,8 @@ public void MulMatrices1() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(-7) }, - new NumberValue[] { new NumberValue(11) }, + [new NumberValue(-7)], + [new NumberValue(11)], }); var result = exp.Execute(); @@ -224,9 +224,9 @@ public void MulMatrices2() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(11), new NumberValue(-22), new NumberValue(29) }, - new NumberValue[] { new NumberValue(9), new NumberValue(-27), new NumberValue(32) }, - new NumberValue[] { new NumberValue(13), new NumberValue(-17), new NumberValue(26) }, + [new NumberValue(11), new NumberValue(-22), new NumberValue(29)], + [new NumberValue(9), new NumberValue(-27), new NumberValue(32)], + [new NumberValue(13), new NumberValue(-17), new NumberValue(26)], }); var result = exp.Execute(); @@ -288,50 +288,39 @@ public void MulMatrices4() var exp = new Mul(left, right); var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] - { - NumberValue.One, NumberValue.Two, new NumberValue(3), new NumberValue(4), new NumberValue(5), new NumberValue(6), new NumberValue(7), new NumberValue(8), new NumberValue(9), new NumberValue(10), new NumberValue(11), - }, - new NumberValue[] - { - NumberValue.Two, new NumberValue(4), new NumberValue(6), new NumberValue(8), new NumberValue(10), new NumberValue(12), new NumberValue(14), new NumberValue(16), new NumberValue(18), new NumberValue(20), new NumberValue(22), - }, - new NumberValue[] - { - new NumberValue(3), new NumberValue(6), new NumberValue(9), new NumberValue(12), new NumberValue(15), new NumberValue(18), new NumberValue(21), new NumberValue(24), new NumberValue(27), new NumberValue(30), new NumberValue(33), - }, - new NumberValue[] - { - new NumberValue(4), new NumberValue(8), new NumberValue(12), new NumberValue(16), new NumberValue(20), new NumberValue(24), new NumberValue(28), new NumberValue(32), new NumberValue(36), new NumberValue(40), new NumberValue(44), - }, - new NumberValue[] - { - new NumberValue(5), new NumberValue(10), new NumberValue(15), new NumberValue(20), new NumberValue(25), new NumberValue(30), new NumberValue(35), new NumberValue(40), new NumberValue(45), new NumberValue(50), new NumberValue(55), - }, - new NumberValue[] - { - new NumberValue(6), new NumberValue(12), new NumberValue(18), new NumberValue(24), new NumberValue(30), new NumberValue(36), new NumberValue(42), new NumberValue(48), new NumberValue(54), new NumberValue(60), new NumberValue(66), - }, - new NumberValue[] - { - new NumberValue(7), new NumberValue(14), new NumberValue(21), new NumberValue(28), new NumberValue(35), new NumberValue(42), new NumberValue(49), new NumberValue(56), new NumberValue(63), new NumberValue(70), new NumberValue(77), - }, - new NumberValue[] - { - new NumberValue(8), new NumberValue(16), new NumberValue(24), new NumberValue(32), new NumberValue(40), new NumberValue(48), new NumberValue(56), new NumberValue(64), new NumberValue(72), new NumberValue(80), new NumberValue(88), - }, - new NumberValue[] - { - new NumberValue(9), new NumberValue(18), new NumberValue(27), new NumberValue(36), new NumberValue(45), new NumberValue(54), new NumberValue(63), new NumberValue(72), new NumberValue(81), new NumberValue(90), new NumberValue(99), - }, - new NumberValue[] - { - new NumberValue(10), new NumberValue(20), new NumberValue(30), new NumberValue(40), new NumberValue(50), new NumberValue(60), new NumberValue(70), new NumberValue(80), new NumberValue(90), new NumberValue(100), new NumberValue(110), - }, - new NumberValue[] - { - new NumberValue(11), new NumberValue(22), new NumberValue(33), new NumberValue(44), new NumberValue(55), new NumberValue(66), new NumberValue(77), new NumberValue(88), new NumberValue(99), new NumberValue(110), new NumberValue(121), - }, + [ + NumberValue.One, NumberValue.Two, new NumberValue(3), new NumberValue(4), new NumberValue(5), new NumberValue(6), new NumberValue(7), new NumberValue(8), new NumberValue(9), new NumberValue(10), new NumberValue(11) + ], + [ + NumberValue.Two, new NumberValue(4), new NumberValue(6), new NumberValue(8), new NumberValue(10), new NumberValue(12), new NumberValue(14), new NumberValue(16), new NumberValue(18), new NumberValue(20), new NumberValue(22) + ], + [ + new NumberValue(3), new NumberValue(6), new NumberValue(9), new NumberValue(12), new NumberValue(15), new NumberValue(18), new NumberValue(21), new NumberValue(24), new NumberValue(27), new NumberValue(30), new NumberValue(33) + ], + [ + new NumberValue(4), new NumberValue(8), new NumberValue(12), new NumberValue(16), new NumberValue(20), new NumberValue(24), new NumberValue(28), new NumberValue(32), new NumberValue(36), new NumberValue(40), new NumberValue(44) + ], + [ + new NumberValue(5), new NumberValue(10), new NumberValue(15), new NumberValue(20), new NumberValue(25), new NumberValue(30), new NumberValue(35), new NumberValue(40), new NumberValue(45), new NumberValue(50), new NumberValue(55) + ], + [ + new NumberValue(6), new NumberValue(12), new NumberValue(18), new NumberValue(24), new NumberValue(30), new NumberValue(36), new NumberValue(42), new NumberValue(48), new NumberValue(54), new NumberValue(60), new NumberValue(66) + ], + [ + new NumberValue(7), new NumberValue(14), new NumberValue(21), new NumberValue(28), new NumberValue(35), new NumberValue(42), new NumberValue(49), new NumberValue(56), new NumberValue(63), new NumberValue(70), new NumberValue(77) + ], + [ + new NumberValue(8), new NumberValue(16), new NumberValue(24), new NumberValue(32), new NumberValue(40), new NumberValue(48), new NumberValue(56), new NumberValue(64), new NumberValue(72), new NumberValue(80), new NumberValue(88) + ], + [ + new NumberValue(9), new NumberValue(18), new NumberValue(27), new NumberValue(36), new NumberValue(45), new NumberValue(54), new NumberValue(63), new NumberValue(72), new NumberValue(81), new NumberValue(90), new NumberValue(99) + ], + [ + new NumberValue(10), new NumberValue(20), new NumberValue(30), new NumberValue(40), new NumberValue(50), new NumberValue(60), new NumberValue(70), new NumberValue(80), new NumberValue(90), new NumberValue(100), new NumberValue(110) + ], + [ + new NumberValue(11), new NumberValue(22), new NumberValue(33), new NumberValue(44), new NumberValue(55), new NumberValue(66), new NumberValue(77), new NumberValue(88), new NumberValue(99), new NumberValue(110), new NumberValue(121) + ], }); Assert.That(exp.Execute(), Is.EqualTo(expected)); @@ -350,8 +339,8 @@ public void MatrixMulVectorTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(-6), new NumberValue(3) }, - new NumberValue[] { new NumberValue(2), new NumberValue(-1) }, + [new NumberValue(-6), new NumberValue(3)], + [new NumberValue(2), new NumberValue(-1)], }); var result = exp.Execute(); @@ -387,13 +376,12 @@ public void InverseTest() }); var exp = new Inverse(matrix); - var expected = MatrixValue.Create(new[] - { - new NumberValue[] { new NumberValue(0.0970873786407767), new NumberValue(-0.18270079435128), new NumberValue(-0.114739629302736), new NumberValue(0.224183583406884) }, - new NumberValue[] { new NumberValue(-0.0194174757281553), new NumberValue(0.145631067961165), new NumberValue(-0.0679611650485437), new NumberValue(0.00970873786407767) }, - new NumberValue[] { new NumberValue(-0.087378640776699), new NumberValue(0.0644307149161518), new NumberValue(0.103265666372463), new NumberValue(-0.00176522506619595) }, - new NumberValue[] { new NumberValue(0.203883495145631), new NumberValue(-0.120035304501324), new NumberValue(0.122683142100618), new NumberValue(-0.147396293027361) }, - }); + var expected = MatrixValue.Create([ + [new NumberValue(0.0970873786407767), new NumberValue(-0.18270079435128), new NumberValue(-0.114739629302736), new NumberValue(0.224183583406884)], + [new NumberValue(-0.0194174757281553), new NumberValue(0.145631067961165), new NumberValue(-0.0679611650485437), new NumberValue(0.00970873786407767)], + [new NumberValue(-0.087378640776699), new NumberValue(0.0644307149161518), new NumberValue(0.103265666372463), new NumberValue(-0.00176522506619595)], + [new NumberValue(0.203883495145631), new NumberValue(-0.120035304501324), new NumberValue(0.122683142100618), new NumberValue(-0.147396293027361)] + ]); var actual = exp.Execute(); diff --git a/xFunc.Tests/Expressions/Matrices/MatrixValueTests.cs b/xFunc.Tests/Expressions/Matrices/MatrixValueTests.cs index 4361a87b4..e1d794dd0 100644 --- a/xFunc.Tests/Expressions/Matrices/MatrixValueTests.cs +++ b/xFunc.Tests/Expressions/Matrices/MatrixValueTests.cs @@ -11,9 +11,9 @@ public void CtorEmptyVectorTests() public static IEnumerable NotEqualsTestData() { - yield return new object[] { default(MatrixValue), MatrixValue.Create(NumberValue.One) }; + yield return [default(MatrixValue), MatrixValue.Create(NumberValue.One)]; - yield return new object[] { MatrixValue.Create(NumberValue.One), default(MatrixValue) }; + yield return [MatrixValue.Create(NumberValue.One), default(MatrixValue)]; } [Test] @@ -23,9 +23,9 @@ public void NotEqualsTest(MatrixValue v1, MatrixValue v2) public static IEnumerable EqualsTestData() { - yield return new object[] { default(MatrixValue), default(MatrixValue) }; + yield return [default(MatrixValue), default(MatrixValue)]; - yield return new object[] { MatrixValue.Create(NumberValue.One), MatrixValue.Create(NumberValue.One) }; + yield return [MatrixValue.Create(NumberValue.One), MatrixValue.Create(NumberValue.One)]; } [Test] @@ -35,11 +35,11 @@ public void EqualsTest(MatrixValue v1, MatrixValue v2) public static IEnumerable NotEqualsAsObjectTestData() { - yield return new object[] { default(MatrixValue), MatrixValue.Create(NumberValue.One) }; + yield return [default(MatrixValue), MatrixValue.Create(NumberValue.One)]; - yield return new object[] { MatrixValue.Create(NumberValue.One), default(MatrixValue) }; + yield return [MatrixValue.Create(NumberValue.One), default(MatrixValue)]; - yield return new object[] { MatrixValue.Create(NumberValue.One), true }; + yield return [MatrixValue.Create(NumberValue.One), true]; } [Test] @@ -76,8 +76,8 @@ public void ToStringTest() { var matrix = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { NumberValue.One }, - new NumberValue[] { NumberValue.Two }, + [NumberValue.One], + [NumberValue.Two], }); var expected = "{{1}, {2}}"; diff --git a/xFunc.Tests/Expressions/Matrices/TransposeTest.cs b/xFunc.Tests/Expressions/Matrices/TransposeTest.cs index 95180d5a2..292dd67a2 100644 --- a/xFunc.Tests/Expressions/Matrices/TransposeTest.cs +++ b/xFunc.Tests/Expressions/Matrices/TransposeTest.cs @@ -17,8 +17,8 @@ public void ExecuteMatrixTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { NumberValue.One, new NumberValue(3), new NumberValue(5) }, - new NumberValue[] { NumberValue.Two, new NumberValue(4), new NumberValue(6) }, + [NumberValue.One, new NumberValue(3), new NumberValue(5)], + [NumberValue.Two, new NumberValue(4), new NumberValue(6)], }); var exp = new Transpose(matrix); @@ -32,8 +32,8 @@ public void ExecuteVectorTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { NumberValue.One }, - new NumberValue[] { NumberValue.Two }, + [NumberValue.One], + [NumberValue.Two], }); var exp = new Transpose(vector); diff --git a/xFunc.Tests/Expressions/Matrices/VectorTest.cs b/xFunc.Tests/Expressions/Matrices/VectorTest.cs index 09dc83dab..0a2908a6a 100644 --- a/xFunc.Tests/Expressions/Matrices/VectorTest.cs +++ b/xFunc.Tests/Expressions/Matrices/VectorTest.cs @@ -108,8 +108,8 @@ public void TransposeVectorTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { NumberValue.One }, - new NumberValue[] { NumberValue.Two }, + [NumberValue.One], + [NumberValue.Two], }); var result = exp.Execute(); diff --git a/xFunc.Tests/Expressions/Matrices/VectorValueTests.cs b/xFunc.Tests/Expressions/Matrices/VectorValueTests.cs index 30d3874f4..3eb2aa72a 100644 --- a/xFunc.Tests/Expressions/Matrices/VectorValueTests.cs +++ b/xFunc.Tests/Expressions/Matrices/VectorValueTests.cs @@ -11,9 +11,9 @@ public void CtorEmptyArrayTest() public static IEnumerable NotEqualsTestData() { - yield return new object[] { default(VectorValue), VectorValue.Create(NumberValue.One) }; + yield return [default(VectorValue), VectorValue.Create(NumberValue.One)]; - yield return new object[] { VectorValue.Create(NumberValue.One), default(VectorValue) }; + yield return [VectorValue.Create(NumberValue.One), default(VectorValue)]; } [Test] @@ -23,9 +23,9 @@ public void NotEqualsTest(VectorValue v1, VectorValue v2) public static IEnumerable EqualsTestData() { - yield return new object[] { default(VectorValue), default(VectorValue) }; + yield return [default(VectorValue), default(VectorValue)]; - yield return new object[] { VectorValue.Create(NumberValue.One), VectorValue.Create(NumberValue.One) }; + yield return [VectorValue.Create(NumberValue.One), VectorValue.Create(NumberValue.One)]; } [Test] @@ -35,11 +35,11 @@ public void EqualsTest(VectorValue v1, VectorValue v2) public static IEnumerable NotEqualsAsObjectTestData() { - yield return new object[] { default(VectorValue), VectorValue.Create(NumberValue.One) }; + yield return [default(VectorValue), VectorValue.Create(NumberValue.One)]; - yield return new object[] { VectorValue.Create(NumberValue.One), default(VectorValue) }; + yield return [VectorValue.Create(NumberValue.One), default(VectorValue)]; - yield return new object[] { VectorValue.Create(NumberValue.One), true }; + yield return [VectorValue.Create(NumberValue.One), true]; } [Test] @@ -82,14 +82,14 @@ public void ToStringTest() public static IEnumerable AbsTestData() { - yield return new object[] - { + yield return + [ VectorValue.Create(new NumberValue(1), new NumberValue(2), new NumberValue(3)), new NumberValue(3.7416573867739413) - }; + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(1), new NumberValue(2), @@ -100,10 +100,10 @@ public static IEnumerable AbsTestData() new NumberValue(7), new NumberValue(8)), new NumberValue(14.2828568570857) - }; + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(1), new NumberValue(2), @@ -115,7 +115,7 @@ public static IEnumerable AbsTestData() new NumberValue(8), new NumberValue(9)), new NumberValue(16.881943016134134) - }; + ]; } [Test] @@ -125,15 +125,15 @@ public void AbsTest(VectorValue vector, NumberValue expected) public static IEnumerable AddTestData() { - yield return new object[] - { + yield return + [ VectorValue.Create(new NumberValue(1), new NumberValue(2), new NumberValue(3)), VectorValue.Create(new NumberValue(3), new NumberValue(2), new NumberValue(1)), - VectorValue.Create(new NumberValue(4), new NumberValue(4), new NumberValue(4)), - }; + VectorValue.Create(new NumberValue(4), new NumberValue(4), new NumberValue(4)) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(1), new NumberValue(2), @@ -160,11 +160,11 @@ public static IEnumerable AddTestData() new NumberValue(10), new NumberValue(12), new NumberValue(14), - new NumberValue(16)), - }; + new NumberValue(16)) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(1), new NumberValue(2), @@ -194,8 +194,8 @@ public static IEnumerable AddTestData() new NumberValue(12), new NumberValue(14), new NumberValue(16), - new NumberValue(18)), - }; + new NumberValue(18)) + ]; } [Test] @@ -205,15 +205,15 @@ public void AddTest(VectorValue v1, VectorValue v2, VectorValue expected) public static IEnumerable SubTestData() { - yield return new object[] - { + yield return + [ VectorValue.Create(new NumberValue(1), new NumberValue(2), new NumberValue(3)), VectorValue.Create(new NumberValue(3), new NumberValue(2), new NumberValue(1)), - VectorValue.Create(new NumberValue(-2), new NumberValue(0), new NumberValue(2)), - }; + VectorValue.Create(new NumberValue(-2), new NumberValue(0), new NumberValue(2)) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(1), new NumberValue(2), @@ -240,11 +240,11 @@ public static IEnumerable SubTestData() new NumberValue(0), new NumberValue(0), new NumberValue(0), - new NumberValue(0)), - }; + new NumberValue(0)) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(10), new NumberValue(20), @@ -274,8 +274,8 @@ public static IEnumerable SubTestData() new NumberValue(54), new NumberValue(63), new NumberValue(72), - new NumberValue(81)), - }; + new NumberValue(81)) + ]; } [Test] @@ -285,15 +285,15 @@ public void SubTest(VectorValue v1, VectorValue v2, VectorValue expected) public static IEnumerable MulByScalarTestData() { - yield return new object[] - { + yield return + [ VectorValue.Create(new NumberValue(1), new NumberValue(2), new NumberValue(3)), NumberValue.Two, - VectorValue.Create(new NumberValue(2), new NumberValue(4), new NumberValue(6)), - }; + VectorValue.Create(new NumberValue(2), new NumberValue(4), new NumberValue(6)) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(1), new NumberValue(2), @@ -312,11 +312,11 @@ public static IEnumerable MulByScalarTestData() new NumberValue(10), new NumberValue(12), new NumberValue(14), - new NumberValue(16)), - }; + new NumberValue(16)) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(1), new NumberValue(2), @@ -337,8 +337,8 @@ public static IEnumerable MulByScalarTestData() new NumberValue(12), new NumberValue(14), new NumberValue(16), - new NumberValue(18)), - }; + new NumberValue(18)) + ]; } [Test] @@ -348,15 +348,15 @@ public void MulByScalarTest(VectorValue v1, NumberValue v2, VectorValue expected public static IEnumerable MulTestData() { - yield return new object[] - { + yield return + [ VectorValue.Create(new NumberValue(1), new NumberValue(2), new NumberValue(3)), VectorValue.Create(new NumberValue(3), new NumberValue(2), new NumberValue(1)), - new NumberValue(10), - }; + new NumberValue(10) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(1), new NumberValue(2), @@ -375,11 +375,11 @@ public static IEnumerable MulTestData() new NumberValue(6), new NumberValue(7), new NumberValue(8)), - new NumberValue(204), - }; + new NumberValue(204) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(10), new NumberValue(20), @@ -400,8 +400,8 @@ public static IEnumerable MulTestData() new NumberValue(7), new NumberValue(8), new NumberValue(9)), - new NumberValue(2850), - }; + new NumberValue(2850) + ]; } [Test] @@ -411,14 +411,14 @@ public void MulTest(VectorValue v1, VectorValue v2, NumberValue expected) public static IEnumerable SumTestData() { - yield return new object[] - { + yield return + [ VectorValue.Create(new NumberValue(1), new NumberValue(2), new NumberValue(3)), - new NumberValue(6), - }; + new NumberValue(6) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(1), new NumberValue(2), @@ -428,11 +428,11 @@ public static IEnumerable SumTestData() new NumberValue(6), new NumberValue(7), new NumberValue(8)), - new NumberValue(36), - }; + new NumberValue(36) + ]; - yield return new object[] - { + yield return + [ VectorValue.Create( new NumberValue(10), new NumberValue(20), @@ -443,8 +443,8 @@ public static IEnumerable SumTestData() new NumberValue(70), new NumberValue(80), new NumberValue(90)), - new NumberValue(450), - }; + new NumberValue(450) + ]; } [Test] diff --git a/xFunc.Tests/Expressions/MulTest.cs b/xFunc.Tests/Expressions/MulTest.cs index 19b7f8616..54e0a9645 100644 --- a/xFunc.Tests/Expressions/MulTest.cs +++ b/xFunc.Tests/Expressions/MulTest.cs @@ -148,9 +148,9 @@ public void ExecuteMulMatrixByVectorTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(4), new NumberValue(8), new NumberValue(12) }, - new NumberValue[] { new NumberValue(5), new NumberValue(10), new NumberValue(15) }, - new NumberValue[] { new NumberValue(6), new NumberValue(12), new NumberValue(18) }, + [new NumberValue(4), new NumberValue(8), new NumberValue(12)], + [new NumberValue(5), new NumberValue(10), new NumberValue(15)], + [new NumberValue(6), new NumberValue(12), new NumberValue(18)], }); Assert.That(exp.Execute(), Is.EqualTo(expected)); @@ -206,8 +206,8 @@ public void ExecuteMulMatrixByNumberTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(5), new NumberValue(10) }, - new NumberValue[] { new NumberValue(15), new NumberValue(20) }, + [new NumberValue(5), new NumberValue(10)], + [new NumberValue(15), new NumberValue(20)], }); Assert.That(exp.Execute(), Is.EqualTo(expected)); @@ -226,8 +226,8 @@ public void ExecuteMulNumberByMatrixTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(5), new NumberValue(10) }, - new NumberValue[] { new NumberValue(15), new NumberValue(20) }, + [new NumberValue(5), new NumberValue(10)], + [new NumberValue(15), new NumberValue(20)], }); Assert.That(exp.Execute(), Is.EqualTo(expected)); diff --git a/xFunc.Tests/Expressions/Programming/IfTest.cs b/xFunc.Tests/Expressions/Programming/IfTest.cs index 088535844..01a87fe66 100644 --- a/xFunc.Tests/Expressions/Programming/IfTest.cs +++ b/xFunc.Tests/Expressions/Programming/IfTest.cs @@ -1,22 +1,19 @@ // Copyright (c) Dmytro Kyshchenko. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. -using System.Collections.Immutable; - namespace xFunc.Tests.Expressions.Programming; public class IfTest : BaseExpressionTests { [Test] public void CtorMaxParametersExceeded() - => Assert.Throws(() => new If(new IExpression[] - { + => Assert.Throws(() => new If([ Variable.X, Variable.X, Variable.X, Variable.X, Variable.X, - }.ToImmutableArray())); + ])); [Test] public void CalculateIfElseTest() diff --git a/xFunc.Tests/Expressions/Statistical/StatisticalTests.cs b/xFunc.Tests/Expressions/Statistical/StatisticalTests.cs index 485e0b63e..19ea89614 100644 --- a/xFunc.Tests/Expressions/Statistical/StatisticalTests.cs +++ b/xFunc.Tests/Expressions/Statistical/StatisticalTests.cs @@ -20,7 +20,7 @@ public class StatisticalTests : BaseExpressionTests [TestCase(typeof(Varp))] public void NotSupportedException(Type type) { - var exp = Create(type, new IExpression[] { Bool.False, Bool.False }); + var exp = Create(type, [Bool.False, Bool.False]); TestNotSupported(exp); } @@ -38,7 +38,7 @@ public void NotSupportedException(Type type) [TestCase(typeof(Varp))] public void CloneTest(Type type) { - var exp = Create(type, new IExpression[] { Number.One, Number.Two }); + var exp = Create(type, [Number.One, Number.Two]); var clone = exp.Clone(); Assert.That(clone, Is.EqualTo(exp)); @@ -57,7 +57,7 @@ public void CloneTest(Type type) [TestCase(typeof(Varp))] public void CloneWithReplaceTest(Type type) { - var exp = Create(type, new IExpression[] { Number.One, Number.Two }); + var exp = Create(type, [Number.One, Number.Two]); var arg = ImmutableArray.Create(Number.One); var clone = exp.Clone(arg); var expected = Create(type, arg); diff --git a/xFunc.Tests/Expressions/SubTest.cs b/xFunc.Tests/Expressions/SubTest.cs index 1f5c0b000..9e5b50a60 100644 --- a/xFunc.Tests/Expressions/SubTest.cs +++ b/xFunc.Tests/Expressions/SubTest.cs @@ -84,8 +84,8 @@ public void SubTwoMatricesTest() var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { new NumberValue(-3), NumberValue.One, }, - new NumberValue[] { new NumberValue(-2), new NumberValue(-2), }, + [new NumberValue(-3), NumberValue.One], + [new NumberValue(-2), new NumberValue(-2)], }); var result = sub.Execute(); diff --git a/xFunc.Tests/Expressions/Units/AngleUnits/AngleValueTest.cs b/xFunc.Tests/Expressions/Units/AngleUnits/AngleValueTest.cs index 5c454ad74..7e8cf1db1 100644 --- a/xFunc.Tests/Expressions/Units/AngleUnits/AngleValueTest.cs +++ b/xFunc.Tests/Expressions/Units/AngleUnits/AngleValueTest.cs @@ -272,24 +272,24 @@ public void GradianToGradianTest() public static IEnumerable NormalizeTestsCases() { - yield return new object[] { 0, AngleUnit.Degree, 0 }; - yield return new object[] { 0, AngleUnit.Radian, 0 }; - yield return new object[] { 0, AngleUnit.Gradian, 0 }; - yield return new object[] { 90, AngleUnit.Degree, 90 }; - yield return new object[] { 1.5707963267948966, AngleUnit.Radian, 1.5707963267948966 }; - yield return new object[] { 100, AngleUnit.Gradian, 100 }; - yield return new object[] { 360, AngleUnit.Degree, 0 }; - yield return new object[] { 6.283185307179586, AngleUnit.Radian, 0 }; - yield return new object[] { 400, AngleUnit.Gradian, 0 }; - yield return new object[] { 1110.0, AngleUnit.Degree, 30 }; - yield return new object[] { 19.37315469713706, AngleUnit.Radian, 0.5235987755982988 }; - yield return new object[] { 1233, AngleUnit.Gradian, 33 }; - yield return new object[] { 1770.0, AngleUnit.Degree, 330 }; - yield return new object[] { 30.892327760299633, AngleUnit.Radian, 5.759586531581287 }; - yield return new object[] { 1966, AngleUnit.Gradian, 366 }; - yield return new object[] { -390.0, AngleUnit.Degree, 330 }; - yield return new object[] { -6.8067840827778845, AngleUnit.Radian, 5.759586531581287 }; - yield return new object[] { -434.0, AngleUnit.Gradian, 366 }; + yield return [0, AngleUnit.Degree, 0]; + yield return [0, AngleUnit.Radian, 0]; + yield return [0, AngleUnit.Gradian, 0]; + yield return [90, AngleUnit.Degree, 90]; + yield return [1.5707963267948966, AngleUnit.Radian, 1.5707963267948966]; + yield return [100, AngleUnit.Gradian, 100]; + yield return [360, AngleUnit.Degree, 0]; + yield return [6.283185307179586, AngleUnit.Radian, 0]; + yield return [400, AngleUnit.Gradian, 0]; + yield return [1110.0, AngleUnit.Degree, 30]; + yield return [19.37315469713706, AngleUnit.Radian, 0.5235987755982988]; + yield return [1233, AngleUnit.Gradian, 33]; + yield return [1770.0, AngleUnit.Degree, 330]; + yield return [30.892327760299633, AngleUnit.Radian, 5.759586531581287]; + yield return [1966, AngleUnit.Gradian, 366]; + yield return [-390.0, AngleUnit.Degree, 330]; + yield return [-6.8067840827778845, AngleUnit.Radian, 5.759586531581287]; + yield return [-434.0, AngleUnit.Gradian, 366]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/AreaUnits/AreaUnitTest.cs b/xFunc.Tests/Expressions/Units/AreaUnits/AreaUnitTest.cs index fcca8f5d4..e2e89b03c 100644 --- a/xFunc.Tests/Expressions/Units/AreaUnits/AreaUnitTest.cs +++ b/xFunc.Tests/Expressions/Units/AreaUnits/AreaUnitTest.cs @@ -85,11 +85,11 @@ public void ToStringTest() public static IEnumerable GetToVolumeUnitTest() { - yield return new object[] { AreaUnit.Meter, VolumeUnit.Meter }; - yield return new object[] { AreaUnit.Centimeter, VolumeUnit.Centimeter }; - yield return new object[] { AreaUnit.Inch, VolumeUnit.Inch }; - yield return new object[] { AreaUnit.Foot, VolumeUnit.Foot }; - yield return new object[] { AreaUnit.Yard, VolumeUnit.Yard }; + yield return [AreaUnit.Meter, VolumeUnit.Meter]; + yield return [AreaUnit.Centimeter, VolumeUnit.Centimeter]; + yield return [AreaUnit.Inch, VolumeUnit.Inch]; + yield return [AreaUnit.Foot, VolumeUnit.Foot]; + yield return [AreaUnit.Yard, VolumeUnit.Yard]; } [Test] @@ -103,11 +103,11 @@ public void ToVolumeUnitTest(AreaUnit unit, VolumeUnit expected) public static IEnumerable GetToVolumeUnitExceptionTest() { - yield return new object[] { AreaUnit.Millimeter }; - yield return new object[] { AreaUnit.Kilometer }; - yield return new object[] { AreaUnit.Mile }; - yield return new object[] { AreaUnit.Hectare }; - yield return new object[] { AreaUnit.Acre }; + yield return [AreaUnit.Millimeter]; + yield return [AreaUnit.Kilometer]; + yield return [AreaUnit.Mile]; + yield return [AreaUnit.Hectare]; + yield return [AreaUnit.Acre]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/AreaUnits/AreaValueTest.cs b/xFunc.Tests/Expressions/Units/AreaUnits/AreaValueTest.cs index f6905db81..89254e8aa 100644 --- a/xFunc.Tests/Expressions/Units/AreaUnits/AreaValueTest.cs +++ b/xFunc.Tests/Expressions/Units/AreaUnits/AreaValueTest.cs @@ -188,115 +188,115 @@ public void SubOperatorTest() public static IEnumerable GetConversionTestCases() { - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Meter, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Millimeter, 10000000 }; - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Centimeter, 100000 }; - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Kilometer, 0.00001 }; - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Inch, 15500.031 }; - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Foot, 107.63910417 }; - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Yard, 11.959900463 }; - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Mile, 0.000003861 }; - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Hectare, 0.001 }; - yield return new object[] { 10.0, AreaUnit.Meter, AreaUnit.Acre, 0.0024710538 }; - - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Millimeter, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Meter, 0.00001 }; - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Centimeter, 0.1 }; - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Kilometer, 1.0e-11 }; - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Inch, 0.015500031 }; - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Foot, 0.0001076391 }; - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Yard, 0.0000119599 }; - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Mile, 3.861021585E-12 }; - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Hectare, 1.0e-9 }; - yield return new object[] { 10.0, AreaUnit.Millimeter, AreaUnit.Acre, 2.471053814E-9 }; - - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Centimeter, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Meter, 0.001 }; - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Millimeter, 1000 }; - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Kilometer, 1.0e-9 }; - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Inch, 1.5500031 }; - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Foot, 0.0107639104 }; - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Yard, 0.00119599 }; - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Mile, 3.861021585E-10 }; - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Hectare, 1.0e-7 }; - yield return new object[] { 10.0, AreaUnit.Centimeter, AreaUnit.Acre, 2.471053814E-7 }; - - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Kilometer, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Meter, 10000000.0 }; - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Millimeter, 10000000000000.0 }; - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Centimeter, 100000000000.0 }; - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Inch, 15500031000.062 }; - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Foot, 107639104.1671 }; - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Yard, 11959900.46301 }; - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Mile, 3.8610215854 }; - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Hectare, 1000.0 }; - yield return new object[] { 10.0, AreaUnit.Kilometer, AreaUnit.Acre, 2471.0538147 }; - - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Inch, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Meter, 0.0064516 }; - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Millimeter, 6451.6 }; - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Centimeter, 64.516 }; - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Kilometer, 6.451599999E-9 }; - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Foot, 0.0694444444 }; - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Yard, 0.0077160494 }; - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Mile, 2.490976686E-9 }; - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Hectare, 6.451599999E-7 }; - yield return new object[] { 10.0, AreaUnit.Inch, AreaUnit.Acre, 0.0000015942 }; - - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Foot, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Meter, 0.9290304 }; - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Millimeter, 929030.4 }; - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Centimeter, 9290.304 }; - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Kilometer, 9.290303999E-7 }; - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Inch, 1440.0 }; - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Yard, 1.1111111111 }; - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Mile, 3.587006427E-7 }; - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Hectare, 0.000092903 }; - yield return new object[] { 10.0, AreaUnit.Foot, AreaUnit.Acre, 0.0002295684 }; - - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Yard, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Meter, 8.3612736 }; - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Millimeter, 8361273.6 }; - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Centimeter, 83612.736 }; - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Kilometer, 0.0000083613 }; - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Inch, 12960.0 }; - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Foot, 90.0 }; - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Mile, 0.0000032283 }; - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Hectare, 0.0008361274 }; - yield return new object[] { 10.0, AreaUnit.Yard, AreaUnit.Acre, 0.0020661157 }; - - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Mile, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Meter, 25899881.10336 }; - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Millimeter, 25899881103360.004 }; - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Centimeter, 258998811033.6 }; - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Kilometer, 25.899881103 }; - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Inch, 40144896000.0 }; - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Foot, 278784000.0 }; - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Yard, 30976000.0 }; - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Hectare, 2589.9881103 }; - yield return new object[] { 10.0, AreaUnit.Mile, AreaUnit.Acre, 6400.0 }; - - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Hectare, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Meter, 100000.0 }; - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Millimeter, 100000000000.0 }; - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Centimeter, 1000000000.0 }; - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Kilometer, 0.1 }; - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Inch, 155000310.00062 }; - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Foot, 1076391.04167 }; - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Yard, 119599.00463 }; - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Mile, 0.0386102159 }; - yield return new object[] { 10.0, AreaUnit.Hectare, AreaUnit.Acre, 24.710538147 }; - - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Acre, 10.0 }; - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Meter, 40468.564224 }; - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Millimeter, 40468564224 }; - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Centimeter, 404685642.24 }; - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Kilometer, 0.0404685642 }; - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Inch, 62726400.0 }; - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Foot, 435600.0 }; - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Yard, 48400.0 }; - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Mile, 0.015625 }; - yield return new object[] { 10.0, AreaUnit.Acre, AreaUnit.Hectare, 4.0468564224 }; + yield return [10.0, AreaUnit.Meter, AreaUnit.Meter, 10.0]; + yield return [10.0, AreaUnit.Meter, AreaUnit.Millimeter, 10000000]; + yield return [10.0, AreaUnit.Meter, AreaUnit.Centimeter, 100000]; + yield return [10.0, AreaUnit.Meter, AreaUnit.Kilometer, 0.00001]; + yield return [10.0, AreaUnit.Meter, AreaUnit.Inch, 15500.031]; + yield return [10.0, AreaUnit.Meter, AreaUnit.Foot, 107.63910417]; + yield return [10.0, AreaUnit.Meter, AreaUnit.Yard, 11.959900463]; + yield return [10.0, AreaUnit.Meter, AreaUnit.Mile, 0.000003861]; + yield return [10.0, AreaUnit.Meter, AreaUnit.Hectare, 0.001]; + yield return [10.0, AreaUnit.Meter, AreaUnit.Acre, 0.0024710538]; + + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Millimeter, 10.0]; + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Meter, 0.00001]; + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Centimeter, 0.1]; + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Kilometer, 1.0e-11]; + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Inch, 0.015500031]; + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Foot, 0.0001076391]; + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Yard, 0.0000119599]; + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Mile, 3.861021585E-12]; + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Hectare, 1.0e-9]; + yield return [10.0, AreaUnit.Millimeter, AreaUnit.Acre, 2.471053814E-9]; + + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Centimeter, 10.0]; + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Meter, 0.001]; + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Millimeter, 1000]; + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Kilometer, 1.0e-9]; + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Inch, 1.5500031]; + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Foot, 0.0107639104]; + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Yard, 0.00119599]; + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Mile, 3.861021585E-10]; + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Hectare, 1.0e-7]; + yield return [10.0, AreaUnit.Centimeter, AreaUnit.Acre, 2.471053814E-7]; + + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Kilometer, 10.0]; + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Meter, 10000000.0]; + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Millimeter, 10000000000000.0]; + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Centimeter, 100000000000.0]; + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Inch, 15500031000.062]; + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Foot, 107639104.1671]; + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Yard, 11959900.46301]; + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Mile, 3.8610215854]; + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Hectare, 1000.0]; + yield return [10.0, AreaUnit.Kilometer, AreaUnit.Acre, 2471.0538147]; + + yield return [10.0, AreaUnit.Inch, AreaUnit.Inch, 10.0]; + yield return [10.0, AreaUnit.Inch, AreaUnit.Meter, 0.0064516]; + yield return [10.0, AreaUnit.Inch, AreaUnit.Millimeter, 6451.6]; + yield return [10.0, AreaUnit.Inch, AreaUnit.Centimeter, 64.516]; + yield return [10.0, AreaUnit.Inch, AreaUnit.Kilometer, 6.451599999E-9]; + yield return [10.0, AreaUnit.Inch, AreaUnit.Foot, 0.0694444444]; + yield return [10.0, AreaUnit.Inch, AreaUnit.Yard, 0.0077160494]; + yield return [10.0, AreaUnit.Inch, AreaUnit.Mile, 2.490976686E-9]; + yield return [10.0, AreaUnit.Inch, AreaUnit.Hectare, 6.451599999E-7]; + yield return [10.0, AreaUnit.Inch, AreaUnit.Acre, 0.0000015942]; + + yield return [10.0, AreaUnit.Foot, AreaUnit.Foot, 10.0]; + yield return [10.0, AreaUnit.Foot, AreaUnit.Meter, 0.9290304]; + yield return [10.0, AreaUnit.Foot, AreaUnit.Millimeter, 929030.4]; + yield return [10.0, AreaUnit.Foot, AreaUnit.Centimeter, 9290.304]; + yield return [10.0, AreaUnit.Foot, AreaUnit.Kilometer, 9.290303999E-7]; + yield return [10.0, AreaUnit.Foot, AreaUnit.Inch, 1440.0]; + yield return [10.0, AreaUnit.Foot, AreaUnit.Yard, 1.1111111111]; + yield return [10.0, AreaUnit.Foot, AreaUnit.Mile, 3.587006427E-7]; + yield return [10.0, AreaUnit.Foot, AreaUnit.Hectare, 0.000092903]; + yield return [10.0, AreaUnit.Foot, AreaUnit.Acre, 0.0002295684]; + + yield return [10.0, AreaUnit.Yard, AreaUnit.Yard, 10.0]; + yield return [10.0, AreaUnit.Yard, AreaUnit.Meter, 8.3612736]; + yield return [10.0, AreaUnit.Yard, AreaUnit.Millimeter, 8361273.6]; + yield return [10.0, AreaUnit.Yard, AreaUnit.Centimeter, 83612.736]; + yield return [10.0, AreaUnit.Yard, AreaUnit.Kilometer, 0.0000083613]; + yield return [10.0, AreaUnit.Yard, AreaUnit.Inch, 12960.0]; + yield return [10.0, AreaUnit.Yard, AreaUnit.Foot, 90.0]; + yield return [10.0, AreaUnit.Yard, AreaUnit.Mile, 0.0000032283]; + yield return [10.0, AreaUnit.Yard, AreaUnit.Hectare, 0.0008361274]; + yield return [10.0, AreaUnit.Yard, AreaUnit.Acre, 0.0020661157]; + + yield return [10.0, AreaUnit.Mile, AreaUnit.Mile, 10.0]; + yield return [10.0, AreaUnit.Mile, AreaUnit.Meter, 25899881.10336]; + yield return [10.0, AreaUnit.Mile, AreaUnit.Millimeter, 25899881103360.004]; + yield return [10.0, AreaUnit.Mile, AreaUnit.Centimeter, 258998811033.6]; + yield return [10.0, AreaUnit.Mile, AreaUnit.Kilometer, 25.899881103]; + yield return [10.0, AreaUnit.Mile, AreaUnit.Inch, 40144896000.0]; + yield return [10.0, AreaUnit.Mile, AreaUnit.Foot, 278784000.0]; + yield return [10.0, AreaUnit.Mile, AreaUnit.Yard, 30976000.0]; + yield return [10.0, AreaUnit.Mile, AreaUnit.Hectare, 2589.9881103]; + yield return [10.0, AreaUnit.Mile, AreaUnit.Acre, 6400.0]; + + yield return [10.0, AreaUnit.Hectare, AreaUnit.Hectare, 10.0]; + yield return [10.0, AreaUnit.Hectare, AreaUnit.Meter, 100000.0]; + yield return [10.0, AreaUnit.Hectare, AreaUnit.Millimeter, 100000000000.0]; + yield return [10.0, AreaUnit.Hectare, AreaUnit.Centimeter, 1000000000.0]; + yield return [10.0, AreaUnit.Hectare, AreaUnit.Kilometer, 0.1]; + yield return [10.0, AreaUnit.Hectare, AreaUnit.Inch, 155000310.00062]; + yield return [10.0, AreaUnit.Hectare, AreaUnit.Foot, 1076391.04167]; + yield return [10.0, AreaUnit.Hectare, AreaUnit.Yard, 119599.00463]; + yield return [10.0, AreaUnit.Hectare, AreaUnit.Mile, 0.0386102159]; + yield return [10.0, AreaUnit.Hectare, AreaUnit.Acre, 24.710538147]; + + yield return [10.0, AreaUnit.Acre, AreaUnit.Acre, 10.0]; + yield return [10.0, AreaUnit.Acre, AreaUnit.Meter, 40468.564224]; + yield return [10.0, AreaUnit.Acre, AreaUnit.Millimeter, 40468564224]; + yield return [10.0, AreaUnit.Acre, AreaUnit.Centimeter, 404685642.24]; + yield return [10.0, AreaUnit.Acre, AreaUnit.Kilometer, 0.0404685642]; + yield return [10.0, AreaUnit.Acre, AreaUnit.Inch, 62726400.0]; + yield return [10.0, AreaUnit.Acre, AreaUnit.Foot, 435600.0]; + yield return [10.0, AreaUnit.Acre, AreaUnit.Yard, 48400.0]; + yield return [10.0, AreaUnit.Acre, AreaUnit.Mile, 0.015625]; + yield return [10.0, AreaUnit.Acre, AreaUnit.Hectare, 4.0468564224]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/Converters/AngleConverterTests.cs b/xFunc.Tests/Expressions/Units/Converters/AngleConverterTests.cs index a13ae7cbd..f104c8661 100644 --- a/xFunc.Tests/Expressions/Units/Converters/AngleConverterTests.cs +++ b/xFunc.Tests/Expressions/Units/Converters/AngleConverterTests.cs @@ -19,27 +19,27 @@ public static IEnumerable GetConvertTestsData() { var angle = AngleValue.Degree(90); - yield return new object[] { angle, "rad", angle.ToRadian() }; - yield return new object[] { angle, "radian", angle.ToRadian() }; - yield return new object[] { angle, "radians", angle.ToRadian() }; - yield return new object[] { angle, "deg", angle.ToDegree() }; - yield return new object[] { angle, "degree", angle.ToDegree() }; - yield return new object[] { angle, "degrees", angle.ToDegree() }; - yield return new object[] { angle, "grad", angle.ToGradian() }; - yield return new object[] { angle, "gradian", angle.ToGradian() }; - yield return new object[] { angle, "gradians", angle.ToGradian() }; + yield return [angle, "rad", angle.ToRadian()]; + yield return [angle, "radian", angle.ToRadian()]; + yield return [angle, "radians", angle.ToRadian()]; + yield return [angle, "deg", angle.ToDegree()]; + yield return [angle, "degree", angle.ToDegree()]; + yield return [angle, "degrees", angle.ToDegree()]; + yield return [angle, "grad", angle.ToGradian()]; + yield return [angle, "gradian", angle.ToGradian()]; + yield return [angle, "gradians", angle.ToGradian()]; var number = new NumberValue(10); - yield return new object[] { number, "rad", AngleValue.Radian(number) }; - yield return new object[] { number, "radian", AngleValue.Radian(number) }; - yield return new object[] { number, "radians", AngleValue.Radian(number) }; - yield return new object[] { number, "deg", AngleValue.Degree(number) }; - yield return new object[] { number, "degree", AngleValue.Degree(number) }; - yield return new object[] { number, "degrees", AngleValue.Degree(number) }; - yield return new object[] { number, "grad", AngleValue.Gradian(number) }; - yield return new object[] { number, "gradian", AngleValue.Gradian(number) }; - yield return new object[] { number, "gradians", AngleValue.Gradian(number) }; + yield return [number, "rad", AngleValue.Radian(number)]; + yield return [number, "radian", AngleValue.Radian(number)]; + yield return [number, "radians", AngleValue.Radian(number)]; + yield return [number, "deg", AngleValue.Degree(number)]; + yield return [number, "degree", AngleValue.Degree(number)]; + yield return [number, "degrees", AngleValue.Degree(number)]; + yield return [number, "grad", AngleValue.Gradian(number)]; + yield return [number, "gradian", AngleValue.Gradian(number)]; + yield return [number, "gradians", AngleValue.Gradian(number)]; } [Test] @@ -54,8 +54,8 @@ public void ConvertTests(object value, string unit, object expected) public static IEnumerable GetConvertUnsupportedUnitData() { - yield return new object[] { AngleValue.Degree(90), "xxx" }; - yield return new object[] { new NumberValue(10), "xxx" }; + yield return [AngleValue.Degree(90), "xxx"]; + yield return [new NumberValue(10), "xxx"]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/Converters/AreaConverterTests.cs b/xFunc.Tests/Expressions/Units/Converters/AreaConverterTests.cs index e36fc46e6..bfcdcf1cd 100644 --- a/xFunc.Tests/Expressions/Units/Converters/AreaConverterTests.cs +++ b/xFunc.Tests/Expressions/Units/Converters/AreaConverterTests.cs @@ -19,29 +19,29 @@ public static IEnumerable GetConvertTestsData() { var areaValue = AreaValue.Meter(10); - yield return new object[] { areaValue, "m^2", areaValue.ToMeter() }; - yield return new object[] { areaValue, "mm^2", areaValue.ToMillimeter() }; - yield return new object[] { areaValue, "cm^2", areaValue.ToCentimeter() }; - yield return new object[] { areaValue, "km^2", areaValue.ToKilometer() }; - yield return new object[] { areaValue, "in^2", areaValue.ToInch() }; - yield return new object[] { areaValue, "ft^2", areaValue.ToFoot() }; - yield return new object[] { areaValue, "yd^2", areaValue.ToYard() }; - yield return new object[] { areaValue, "mi^2", areaValue.ToMile() }; - yield return new object[] { areaValue, "ha", areaValue.ToHectare() }; - yield return new object[] { areaValue, "ac", areaValue.ToAcre() }; + yield return [areaValue, "m^2", areaValue.ToMeter()]; + yield return [areaValue, "mm^2", areaValue.ToMillimeter()]; + yield return [areaValue, "cm^2", areaValue.ToCentimeter()]; + yield return [areaValue, "km^2", areaValue.ToKilometer()]; + yield return [areaValue, "in^2", areaValue.ToInch()]; + yield return [areaValue, "ft^2", areaValue.ToFoot()]; + yield return [areaValue, "yd^2", areaValue.ToYard()]; + yield return [areaValue, "mi^2", areaValue.ToMile()]; + yield return [areaValue, "ha", areaValue.ToHectare()]; + yield return [areaValue, "ac", areaValue.ToAcre()]; var number = new NumberValue(10); - yield return new object[] { number, "m^2", AreaValue.Meter(number) }; - yield return new object[] { number, "mm^2", AreaValue.Millimeter(number) }; - yield return new object[] { number, "cm^2", AreaValue.Centimeter(number) }; - yield return new object[] { number, "km^2", AreaValue.Kilometer(number) }; - yield return new object[] { number, "in^2", AreaValue.Inch(number) }; - yield return new object[] { number, "ft^2", AreaValue.Foot(number) }; - yield return new object[] { number, "yd^2", AreaValue.Yard(number) }; - yield return new object[] { number, "mi^2", AreaValue.Mile(number) }; - yield return new object[] { number, "ha", AreaValue.Hectare(number) }; - yield return new object[] { number, "ac", AreaValue.Acre(number) }; + yield return [number, "m^2", AreaValue.Meter(number)]; + yield return [number, "mm^2", AreaValue.Millimeter(number)]; + yield return [number, "cm^2", AreaValue.Centimeter(number)]; + yield return [number, "km^2", AreaValue.Kilometer(number)]; + yield return [number, "in^2", AreaValue.Inch(number)]; + yield return [number, "ft^2", AreaValue.Foot(number)]; + yield return [number, "yd^2", AreaValue.Yard(number)]; + yield return [number, "mi^2", AreaValue.Mile(number)]; + yield return [number, "ha", AreaValue.Hectare(number)]; + yield return [number, "ac", AreaValue.Acre(number)]; } [Test] @@ -58,8 +58,8 @@ public void ConvertTests(object value, string unit, object expected) public static IEnumerable GetConvertUnsupportedUnitData() { - yield return new object[] { AreaValue.Meter(10), "xxx" }; - yield return new object[] { new NumberValue(10), "xxx" }; + yield return [AreaValue.Meter(10), "xxx"]; + yield return [new NumberValue(10), "xxx"]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/Converters/ConverterTests.cs b/xFunc.Tests/Expressions/Units/Converters/ConverterTests.cs index 2a8d1fc4c..47042305b 100644 --- a/xFunc.Tests/Expressions/Units/Converters/ConverterTests.cs +++ b/xFunc.Tests/Expressions/Units/Converters/ConverterTests.cs @@ -19,15 +19,15 @@ public static IEnumerable GetConvertTestsData() { var angle = AngleValue.Radian(90); - yield return new object[] { angle, "rad", angle.ToRadian() }; + yield return [angle, "rad", angle.ToRadian()]; var power = PowerValue.Watt(10); - yield return new object[] { power, "w", power.ToWatt() }; + yield return [power, "w", power.ToWatt()]; var temperature = TemperatureValue.Celsius(10); - yield return new object[] { temperature, "k", temperature.ToKelvin() }; + yield return [temperature, "k", temperature.ToKelvin()]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/Converters/LengthConverterTests.cs b/xFunc.Tests/Expressions/Units/Converters/LengthConverterTests.cs index b07fc3517..43567fe4e 100644 --- a/xFunc.Tests/Expressions/Units/Converters/LengthConverterTests.cs +++ b/xFunc.Tests/Expressions/Units/Converters/LengthConverterTests.cs @@ -19,43 +19,43 @@ public static IEnumerable GetConvertTestsData() { var lengthValue = LengthValue.Meter(10); - yield return new object[] { lengthValue, "m", lengthValue.ToMeter() }; - yield return new object[] { lengthValue, "nm", lengthValue.ToNanometer() }; - yield return new object[] { lengthValue, "µm", lengthValue.ToMicrometer() }; - yield return new object[] { lengthValue, "mm", lengthValue.ToMillimeter() }; - yield return new object[] { lengthValue, "cm", lengthValue.ToCentimeter() }; - yield return new object[] { lengthValue, "dm", lengthValue.ToDecimeter() }; - yield return new object[] { lengthValue, "km", lengthValue.ToKilometer() }; - yield return new object[] { lengthValue, "in", lengthValue.ToInch() }; - yield return new object[] { lengthValue, "ft", lengthValue.ToFoot() }; - yield return new object[] { lengthValue, "yd", lengthValue.ToYard() }; - yield return new object[] { lengthValue, "mi", lengthValue.ToMile() }; - yield return new object[] { lengthValue, "nmi", lengthValue.ToNauticalMile() }; - yield return new object[] { lengthValue, "ch", lengthValue.ToChain() }; - yield return new object[] { lengthValue, "rd", lengthValue.ToRod() }; - yield return new object[] { lengthValue, "au", lengthValue.ToAstronomicalUnit() }; - yield return new object[] { lengthValue, "ly", lengthValue.ToLightYear() }; - yield return new object[] { lengthValue, "pc", lengthValue.ToParsec() }; + yield return [lengthValue, "m", lengthValue.ToMeter()]; + yield return [lengthValue, "nm", lengthValue.ToNanometer()]; + yield return [lengthValue, "µm", lengthValue.ToMicrometer()]; + yield return [lengthValue, "mm", lengthValue.ToMillimeter()]; + yield return [lengthValue, "cm", lengthValue.ToCentimeter()]; + yield return [lengthValue, "dm", lengthValue.ToDecimeter()]; + yield return [lengthValue, "km", lengthValue.ToKilometer()]; + yield return [lengthValue, "in", lengthValue.ToInch()]; + yield return [lengthValue, "ft", lengthValue.ToFoot()]; + yield return [lengthValue, "yd", lengthValue.ToYard()]; + yield return [lengthValue, "mi", lengthValue.ToMile()]; + yield return [lengthValue, "nmi", lengthValue.ToNauticalMile()]; + yield return [lengthValue, "ch", lengthValue.ToChain()]; + yield return [lengthValue, "rd", lengthValue.ToRod()]; + yield return [lengthValue, "au", lengthValue.ToAstronomicalUnit()]; + yield return [lengthValue, "ly", lengthValue.ToLightYear()]; + yield return [lengthValue, "pc", lengthValue.ToParsec()]; var number = new NumberValue(10); - yield return new object[] { number, "m", LengthValue.Meter(number) }; - yield return new object[] { number, "nm", LengthValue.Nanometer(number) }; - yield return new object[] { number, "µm", LengthValue.Micrometer(number) }; - yield return new object[] { number, "mm", LengthValue.Millimeter(number) }; - yield return new object[] { number, "cm", LengthValue.Centimeter(number) }; - yield return new object[] { number, "dm", LengthValue.Decimeter(number) }; - yield return new object[] { number, "km", LengthValue.Kilometer(number) }; - yield return new object[] { number, "in", LengthValue.Inch(number) }; - yield return new object[] { number, "ft", LengthValue.Foot(number) }; - yield return new object[] { number, "yd", LengthValue.Yard(number) }; - yield return new object[] { number, "mi", LengthValue.Mile(number) }; - yield return new object[] { number, "nmi", LengthValue.NauticalMile(number) }; - yield return new object[] { number, "ch", LengthValue.Chain(number) }; - yield return new object[] { number, "rd", LengthValue.Rod(number) }; - yield return new object[] { number, "au", LengthValue.AstronomicalUnit(number) }; - yield return new object[] { number, "ly", LengthValue.LightYear(number) }; - yield return new object[] { number, "pc", LengthValue.Parsec(number) }; + yield return [number, "m", LengthValue.Meter(number)]; + yield return [number, "nm", LengthValue.Nanometer(number)]; + yield return [number, "µm", LengthValue.Micrometer(number)]; + yield return [number, "mm", LengthValue.Millimeter(number)]; + yield return [number, "cm", LengthValue.Centimeter(number)]; + yield return [number, "dm", LengthValue.Decimeter(number)]; + yield return [number, "km", LengthValue.Kilometer(number)]; + yield return [number, "in", LengthValue.Inch(number)]; + yield return [number, "ft", LengthValue.Foot(number)]; + yield return [number, "yd", LengthValue.Yard(number)]; + yield return [number, "mi", LengthValue.Mile(number)]; + yield return [number, "nmi", LengthValue.NauticalMile(number)]; + yield return [number, "ch", LengthValue.Chain(number)]; + yield return [number, "rd", LengthValue.Rod(number)]; + yield return [number, "au", LengthValue.AstronomicalUnit(number)]; + yield return [number, "ly", LengthValue.LightYear(number)]; + yield return [number, "pc", LengthValue.Parsec(number)]; } [Test] @@ -72,8 +72,8 @@ public void ConvertTests(object value, string unit, object expected) public static IEnumerable GetConvertUnsupportedUnitData() { - yield return new object[] { LengthValue.Meter(10), "xxx" }; - yield return new object[] { new NumberValue(10), "xxx" }; + yield return [LengthValue.Meter(10), "xxx"]; + yield return [new NumberValue(10), "xxx"]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/Converters/MassConverterTests.cs b/xFunc.Tests/Expressions/Units/Converters/MassConverterTests.cs index a5e0a6c3b..c37459e23 100644 --- a/xFunc.Tests/Expressions/Units/Converters/MassConverterTests.cs +++ b/xFunc.Tests/Expressions/Units/Converters/MassConverterTests.cs @@ -19,21 +19,21 @@ public static IEnumerable GetConvertTestsData() { var mass = MassValue.Gram(10); - yield return new object[] { mass, "mg", mass.ToMilligram() }; - yield return new object[] { mass, "g", mass.ToGram() }; - yield return new object[] { mass, "kg", mass.ToKilogram() }; - yield return new object[] { mass, "t", mass.ToTonne() }; - yield return new object[] { mass, "oz", mass.ToOunce() }; - yield return new object[] { mass, "lb", mass.ToPound() }; + yield return [mass, "mg", mass.ToMilligram()]; + yield return [mass, "g", mass.ToGram()]; + yield return [mass, "kg", mass.ToKilogram()]; + yield return [mass, "t", mass.ToTonne()]; + yield return [mass, "oz", mass.ToOunce()]; + yield return [mass, "lb", mass.ToPound()]; var number = new NumberValue(10); - yield return new object[] { number, "mg", MassValue.Milligram(number) }; - yield return new object[] { number, "g", MassValue.Gram(number) }; - yield return new object[] { number, "kg", MassValue.Kilogram(number) }; - yield return new object[] { number, "t", MassValue.Tonne(number) }; - yield return new object[] { number, "oz", MassValue.Ounce(number) }; - yield return new object[] { number, "lb", MassValue.Pound(number) }; + yield return [number, "mg", MassValue.Milligram(number)]; + yield return [number, "g", MassValue.Gram(number)]; + yield return [number, "kg", MassValue.Kilogram(number)]; + yield return [number, "t", MassValue.Tonne(number)]; + yield return [number, "oz", MassValue.Ounce(number)]; + yield return [number, "lb", MassValue.Pound(number)]; } [Test] @@ -50,8 +50,8 @@ public void ConvertTests(object value, string unit, object expected) public static IEnumerable GetConvertUnsupportedUnitData() { - yield return new object[] { MassValue.Gram(10), "xxx" }; - yield return new object[] { new NumberValue(10), "xxx" }; + yield return [MassValue.Gram(10), "xxx"]; + yield return [new NumberValue(10), "xxx"]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/Converters/PowerConverterTests.cs b/xFunc.Tests/Expressions/Units/Converters/PowerConverterTests.cs index 1ff7b35a3..5b39bc4fa 100644 --- a/xFunc.Tests/Expressions/Units/Converters/PowerConverterTests.cs +++ b/xFunc.Tests/Expressions/Units/Converters/PowerConverterTests.cs @@ -19,15 +19,15 @@ public static IEnumerable GetConvertTestsData() { var power = PowerValue.Watt(10); - yield return new object[] { power, "w", power.ToWatt() }; - yield return new object[] { power, "kw", power.ToKilowatt() }; - yield return new object[] { power, "hp", power.ToHorsepower() }; + yield return [power, "w", power.ToWatt()]; + yield return [power, "kw", power.ToKilowatt()]; + yield return [power, "hp", power.ToHorsepower()]; var number = new NumberValue(10); - yield return new object[] { number, "w", PowerValue.Watt(number) }; - yield return new object[] { number, "kw", PowerValue.Kilowatt(number) }; - yield return new object[] { number, "hp", PowerValue.Horsepower(number) }; + yield return [number, "w", PowerValue.Watt(number)]; + yield return [number, "kw", PowerValue.Kilowatt(number)]; + yield return [number, "hp", PowerValue.Horsepower(number)]; } [Test] @@ -42,8 +42,8 @@ public void ConvertTests(object value, string unit, object expected) public static IEnumerable GetConvertUnsupportedUnitData() { - yield return new object[] { PowerValue.Watt(10), "xxx" }; - yield return new object[] { new NumberValue(10), "xxx" }; + yield return [PowerValue.Watt(10), "xxx"]; + yield return [new NumberValue(10), "xxx"]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/Converters/TemperatureConverterTests.cs b/xFunc.Tests/Expressions/Units/Converters/TemperatureConverterTests.cs index 2adec2f85..48dbf10de 100644 --- a/xFunc.Tests/Expressions/Units/Converters/TemperatureConverterTests.cs +++ b/xFunc.Tests/Expressions/Units/Converters/TemperatureConverterTests.cs @@ -19,15 +19,15 @@ public static IEnumerable GetConvertTestsData() { var temperature = TemperatureValue.Celsius(10); - yield return new object[] { temperature, "°c", temperature.ToCelsius() }; - yield return new object[] { temperature, "°f", temperature.ToFahrenheit() }; - yield return new object[] { temperature, "k", temperature.ToKelvin() }; + yield return [temperature, "°c", temperature.ToCelsius()]; + yield return [temperature, "°f", temperature.ToFahrenheit()]; + yield return [temperature, "k", temperature.ToKelvin()]; var number = new NumberValue(10); - yield return new object[] { number, "°c", TemperatureValue.Celsius(number) }; - yield return new object[] { number, "°f", TemperatureValue.Fahrenheit(number) }; - yield return new object[] { number, "k", TemperatureValue.Kelvin(number) }; + yield return [number, "°c", TemperatureValue.Celsius(number)]; + yield return [number, "°f", TemperatureValue.Fahrenheit(number)]; + yield return [number, "k", TemperatureValue.Kelvin(number)]; } [Test] @@ -42,8 +42,8 @@ public void ConvertTests(object value, string unit, object expected) public static IEnumerable GetConvertUnsupportedUnitData() { - yield return new object[] { TemperatureValue.Celsius(10), "xxx" }; - yield return new object[] { new NumberValue(10), "xxx" }; + yield return [TemperatureValue.Celsius(10), "xxx"]; + yield return [new NumberValue(10), "xxx"]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/Converters/TimeConverterTests.cs b/xFunc.Tests/Expressions/Units/Converters/TimeConverterTests.cs index 5579ef110..318f3c59d 100644 --- a/xFunc.Tests/Expressions/Units/Converters/TimeConverterTests.cs +++ b/xFunc.Tests/Expressions/Units/Converters/TimeConverterTests.cs @@ -19,27 +19,27 @@ public static IEnumerable GetConvertTestsData() { var lengthValue = TimeValue.Second(10); - yield return new object[] { lengthValue, "s", lengthValue.ToSecond() }; - yield return new object[] { lengthValue, "ns", lengthValue.ToNanosecond() }; - yield return new object[] { lengthValue, "μs", lengthValue.ToMicrosecond() }; - yield return new object[] { lengthValue, "ms", lengthValue.ToMillisecond() }; - yield return new object[] { lengthValue, "min", lengthValue.ToMinute() }; - yield return new object[] { lengthValue, "h", lengthValue.ToHour() }; - yield return new object[] { lengthValue, "day", lengthValue.ToDay() }; - yield return new object[] { lengthValue, "week", lengthValue.ToWeek() }; - yield return new object[] { lengthValue, "year", lengthValue.ToYear() }; + yield return [lengthValue, "s", lengthValue.ToSecond()]; + yield return [lengthValue, "ns", lengthValue.ToNanosecond()]; + yield return [lengthValue, "μs", lengthValue.ToMicrosecond()]; + yield return [lengthValue, "ms", lengthValue.ToMillisecond()]; + yield return [lengthValue, "min", lengthValue.ToMinute()]; + yield return [lengthValue, "h", lengthValue.ToHour()]; + yield return [lengthValue, "day", lengthValue.ToDay()]; + yield return [lengthValue, "week", lengthValue.ToWeek()]; + yield return [lengthValue, "year", lengthValue.ToYear()]; var number = new NumberValue(10); - yield return new object[] { number, "s", TimeValue.Second(number) }; - yield return new object[] { number, "ns", TimeValue.Nanosecond(number) }; - yield return new object[] { number, "μs", TimeValue.Microsecond(number) }; - yield return new object[] { number, "ms", TimeValue.Millisecond(number) }; - yield return new object[] { number, "min", TimeValue.Minute(number) }; - yield return new object[] { number, "h", TimeValue.Hour(number) }; - yield return new object[] { number, "day", TimeValue.Day(number) }; - yield return new object[] { number, "week", TimeValue.Week(number) }; - yield return new object[] { number, "year", TimeValue.Year(number) }; + yield return [number, "s", TimeValue.Second(number)]; + yield return [number, "ns", TimeValue.Nanosecond(number)]; + yield return [number, "μs", TimeValue.Microsecond(number)]; + yield return [number, "ms", TimeValue.Millisecond(number)]; + yield return [number, "min", TimeValue.Minute(number)]; + yield return [number, "h", TimeValue.Hour(number)]; + yield return [number, "day", TimeValue.Day(number)]; + yield return [number, "week", TimeValue.Week(number)]; + yield return [number, "year", TimeValue.Year(number)]; } [Test] @@ -56,8 +56,8 @@ public void ConvertTests(object value, string unit, object expected) public static IEnumerable GetConvertUnsupportedUnitData() { - yield return new object[] { TimeValue.Second(10), "xxx" }; - yield return new object[] { new NumberValue(10), "xxx" }; + yield return [TimeValue.Second(10), "xxx"]; + yield return [new NumberValue(10), "xxx"]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/Converters/VolumeConverterTests.cs b/xFunc.Tests/Expressions/Units/Converters/VolumeConverterTests.cs index 9452cd03d..474f7980f 100644 --- a/xFunc.Tests/Expressions/Units/Converters/VolumeConverterTests.cs +++ b/xFunc.Tests/Expressions/Units/Converters/VolumeConverterTests.cs @@ -19,23 +19,23 @@ public static IEnumerable GetConvertTestsData() { var volumeValue = VolumeValue.Meter(10); - yield return new object[] { volumeValue, "m^3", volumeValue.ToMeter() }; - yield return new object[] { volumeValue, "cm^3", volumeValue.ToCentimeter() }; - yield return new object[] { volumeValue, "l", volumeValue.ToLiter() }; - yield return new object[] { volumeValue, "in^3", volumeValue.ToInch() }; - yield return new object[] { volumeValue, "ft^3", volumeValue.ToFoot() }; - yield return new object[] { volumeValue, "yd^3", volumeValue.ToYard() }; - yield return new object[] { volumeValue, "gal", volumeValue.ToGallon() }; + yield return [volumeValue, "m^3", volumeValue.ToMeter()]; + yield return [volumeValue, "cm^3", volumeValue.ToCentimeter()]; + yield return [volumeValue, "l", volumeValue.ToLiter()]; + yield return [volumeValue, "in^3", volumeValue.ToInch()]; + yield return [volumeValue, "ft^3", volumeValue.ToFoot()]; + yield return [volumeValue, "yd^3", volumeValue.ToYard()]; + yield return [volumeValue, "gal", volumeValue.ToGallon()]; var number = new NumberValue(10); - yield return new object[] { number, "m^3", VolumeValue.Meter(number) }; - yield return new object[] { number, "cm^3", VolumeValue.Centimeter(number) }; - yield return new object[] { number, "l", VolumeValue.Liter(number) }; - yield return new object[] { number, "in^3", VolumeValue.Inch(number) }; - yield return new object[] { number, "ft^3", VolumeValue.Foot(number) }; - yield return new object[] { number, "yd^3", VolumeValue.Yard(number) }; - yield return new object[] { number, "gal", VolumeValue.Gallon(number) }; + yield return [number, "m^3", VolumeValue.Meter(number)]; + yield return [number, "cm^3", VolumeValue.Centimeter(number)]; + yield return [number, "l", VolumeValue.Liter(number)]; + yield return [number, "in^3", VolumeValue.Inch(number)]; + yield return [number, "ft^3", VolumeValue.Foot(number)]; + yield return [number, "yd^3", VolumeValue.Yard(number)]; + yield return [number, "gal", VolumeValue.Gallon(number)]; } [Test] @@ -52,8 +52,8 @@ public void ConvertTests(object value, string unit, object expected) public static IEnumerable GetConvertUnsupportedUnitData() { - yield return new object[] { VolumeValue.Meter(10), "xxx" }; - yield return new object[] { new NumberValue(10), "xxx" }; + yield return [VolumeValue.Meter(10), "xxx"]; + yield return [new NumberValue(10), "xxx"]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/LengthUnits/LengthUnitTest.cs b/xFunc.Tests/Expressions/Units/LengthUnits/LengthUnitTest.cs index 49102b4fb..bc504a512 100644 --- a/xFunc.Tests/Expressions/Units/LengthUnits/LengthUnitTest.cs +++ b/xFunc.Tests/Expressions/Units/LengthUnits/LengthUnitTest.cs @@ -69,14 +69,14 @@ public void ToStringTest() public static IEnumerable GetToAreaUnitTest() { - yield return new object[] { LengthUnit.Meter, AreaUnit.Meter }; - yield return new object[] { LengthUnit.Millimeter, AreaUnit.Millimeter }; - yield return new object[] { LengthUnit.Centimeter, AreaUnit.Centimeter }; - yield return new object[] { LengthUnit.Kilometer, AreaUnit.Kilometer }; - yield return new object[] { LengthUnit.Inch, AreaUnit.Inch }; - yield return new object[] { LengthUnit.Foot, AreaUnit.Foot }; - yield return new object[] { LengthUnit.Yard, AreaUnit.Yard }; - yield return new object[] { LengthUnit.Mile, AreaUnit.Mile }; + yield return [LengthUnit.Meter, AreaUnit.Meter]; + yield return [LengthUnit.Millimeter, AreaUnit.Millimeter]; + yield return [LengthUnit.Centimeter, AreaUnit.Centimeter]; + yield return [LengthUnit.Kilometer, AreaUnit.Kilometer]; + yield return [LengthUnit.Inch, AreaUnit.Inch]; + yield return [LengthUnit.Foot, AreaUnit.Foot]; + yield return [LengthUnit.Yard, AreaUnit.Yard]; + yield return [LengthUnit.Mile, AreaUnit.Mile]; } [Test] @@ -90,15 +90,15 @@ public void ToAreaUnitTest(LengthUnit unit, AreaUnit expected) public static IEnumerable GetToAreaUnitExceptionTest() { - yield return new object[] { LengthUnit.Nanometer }; - yield return new object[] { LengthUnit.Micrometer }; - yield return new object[] { LengthUnit.Decimeter }; - yield return new object[] { LengthUnit.NauticalMile }; - yield return new object[] { LengthUnit.Chain }; - yield return new object[] { LengthUnit.Rod }; - yield return new object[] { LengthUnit.AstronomicalUnit }; - yield return new object[] { LengthUnit.LightYear }; - yield return new object[] { LengthUnit.Parsec }; + yield return [LengthUnit.Nanometer]; + yield return [LengthUnit.Micrometer]; + yield return [LengthUnit.Decimeter]; + yield return [LengthUnit.NauticalMile]; + yield return [LengthUnit.Chain]; + yield return [LengthUnit.Rod]; + yield return [LengthUnit.AstronomicalUnit]; + yield return [LengthUnit.LightYear]; + yield return [LengthUnit.Parsec]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/LengthUnits/LengthValueTest.cs b/xFunc.Tests/Expressions/Units/LengthUnits/LengthValueTest.cs index 292f0acfa..daac35f4b 100644 --- a/xFunc.Tests/Expressions/Units/LengthUnits/LengthValueTest.cs +++ b/xFunc.Tests/Expressions/Units/LengthUnits/LengthValueTest.cs @@ -349,311 +349,311 @@ public void MulOperatorLengthAreaTest() public static IEnumerable GetConversionTestCases() { - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Meter, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Nanometer, 10000000000.0 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Micrometer, 10000000.0 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Millimeter, 10000.0 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Centimeter, 1000.0 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Decimeter, 100.0 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Kilometer, 0.01 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Inch, 393.7007874 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Foot, 32.80839895 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Yard, 10.936132983 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Mile, 0.0062137119 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.NauticalMile, 0.005399568 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Chain, 0.4970969538 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Rod, 1.9883878152 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.AstronomicalUnit, 6.684587122E-11 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.LightYear, 1.057000834E-15 }; - yield return new object[] { 10.0, LengthUnit.Meter, LengthUnit.Parsec, 3.240779289E-16 }; - - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Nanometer, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Meter, 1.0E-8 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Micrometer, 0.01 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Millimeter, 0.00001 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Centimeter, 0.000001 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Decimeter, 1.0E-7 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Kilometer, 1.0E-11 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Inch, 3.937007874E-7 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Foot, 3.280839895E-8 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Yard, 1.093613298E-8 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Mile, 6.213711922E-12 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.NauticalMile, 5.399568034E-12 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Chain, 4.970969537E-10 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Rod, 1.988387815E-9 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.AstronomicalUnit, 6.684587122E-20 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.LightYear, 1.057000834E-24 }; - yield return new object[] { 10.0, LengthUnit.Nanometer, LengthUnit.Parsec, 3.240779289E-25 }; - - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Micrometer, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Meter, 0.00001 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Nanometer, 10000.0 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Millimeter, 0.01 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Centimeter, 0.001 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Decimeter, 0.0001 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Kilometer, 1.0E-8 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Inch, 0.0003937008 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Foot, 0.0000328084 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Yard, 0.0000109361 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Mile, 6.213711922E-9 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.NauticalMile, 5.399568034E-9 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Chain, 4.970969537E-7 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Rod, 0.0000019884 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.AstronomicalUnit, 6.684587122E-17 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.LightYear, 1.057000834E-21 }; - yield return new object[] { 10.0, LengthUnit.Micrometer, LengthUnit.Parsec, 3.240779289E-22 }; - - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Millimeter, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Meter, 0.01 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Nanometer, 10000000.0 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Micrometer, 10000.0 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Centimeter, 1.0 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Decimeter, 0.1 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Kilometer, 0.00001 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Inch, 0.3937007874 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Foot, 0.032808399 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Yard, 0.010936133 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Mile, 0.0000062137 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.NauticalMile, 0.0000053996 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Chain, 0.000497097 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Rod, 0.0019883878 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.AstronomicalUnit, 6.684587122E-14 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.LightYear, 1.057000834E-18 }; - yield return new object[] { 10.0, LengthUnit.Millimeter, LengthUnit.Parsec, 3.240779289E-19 }; - - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Centimeter, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Meter, 0.1 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Nanometer, 100000000.0 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Micrometer, 100000.0 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Millimeter, 100.0 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Decimeter, 1.0 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Kilometer, 0.0001 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Inch, 3.937007874 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Foot, 0.3280839895 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Yard, 0.1093613298 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Mile, 0.0000621371 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.NauticalMile, 0.0000539957 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Chain, 0.0049709695 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Rod, 0.0198838782 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.AstronomicalUnit, 6.684587122E-13 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.LightYear, 1.057000834E-17 }; - yield return new object[] { 10.0, LengthUnit.Centimeter, LengthUnit.Parsec, 3.240779289E-18 }; - - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Decimeter, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Meter, 1.0 }; - yield return new object[] { 1.0, LengthUnit.Decimeter, LengthUnit.Nanometer, 100000000.0 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Micrometer, 1000000.0 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Millimeter, 1000.0 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Centimeter, 100.0 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Kilometer, 0.001 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Inch, 39.37007874 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Foot, 3.280839895 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Yard, 1.0936132983 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Mile, 0.0006213712 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.NauticalMile, 0.0005399568 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Chain, 0.0497096954 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Rod, 0.1988387815 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.AstronomicalUnit, 6.684587122E-12 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.LightYear, 1.057000834E-16 }; - yield return new object[] { 10.0, LengthUnit.Decimeter, LengthUnit.Parsec, 3.240779289E-17 }; - - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Kilometer, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Meter, 10000.0 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Nanometer, 10000000000000.0 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Micrometer, 10000000000.0 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Millimeter, 10000000.0 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Centimeter, 1000000.0 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Decimeter, 100000.0 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Inch, 393700.7874015748 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Foot, 32808.39895013 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Yard, 10936.132983377 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Mile, 6.2137119224 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.NauticalMile, 5.3995680346 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Chain, 497.09695379 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Rod, 1988.387815159 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.AstronomicalUnit, 6.684587122E-8 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.LightYear, 1.057000834E-12 }; - yield return new object[] { 10.0, LengthUnit.Kilometer, LengthUnit.Parsec, 3.240779289E-13 }; - - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Inch, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Meter, 0.254 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Nanometer, 254000000.0 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Micrometer, 254000.0 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Millimeter, 254.0 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Centimeter, 25.4 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Decimeter, 2.54 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Kilometer, 0.000254 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Foot, 0.8333333333 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Yard, 0.2777777778 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Mile, 0.0001578283 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.NauticalMile, 0.000137149 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Chain, 0.0126262626 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Rod, 0.0505050505 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.AstronomicalUnit, 1.697885129E-12 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.LightYear, 2.684782118E-17 }; - yield return new object[] { 10.0, LengthUnit.Inch, LengthUnit.Parsec, 8.231579395E-18 }; - - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Foot, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Meter, 3.048 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Nanometer, 3048000000 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Micrometer, 3048000 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Millimeter, 3048 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Centimeter, 304.8 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Decimeter, 30.48 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Kilometer, 0.003048 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Inch, 120.0 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Yard, 3.3333333333 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Mile, 0.0018939394 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.NauticalMile, 0.0016457883 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Chain, 0.1515151515 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Rod, 0.6060606061 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.AstronomicalUnit, 2.037462154E-11 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.LightYear, 3.221738542E-16 }; - yield return new object[] { 10.0, LengthUnit.Foot, LengthUnit.Parsec, 9.877895274E-17 }; - - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Yard, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Meter, 9.144 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Nanometer, 9144000000 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Micrometer, 9144000 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Millimeter, 9144 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Centimeter, 914.4 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Decimeter, 91.44 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Kilometer, 0.009144 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Inch, 360.0 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Foot, 30.0 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Mile, 0.0056818182 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.NauticalMile, 0.004937365010799136 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Chain, 0.4545454545 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Rod, 1.8181818182 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.AstronomicalUnit, 6.112386464E-11 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.LightYear, 9.665215626E-16 }; - yield return new object[] { 10.0, LengthUnit.Yard, LengthUnit.Parsec, 2.963368582E-16 }; - - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Mile, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Meter, 16093.44 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Nanometer, 16093440000000 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Micrometer, 16093440000 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Millimeter, 16093440 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Centimeter, 1609344 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Decimeter, 160934.4 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Kilometer, 16.09344 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Inch, 633600 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Foot, 52800 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Yard, 17600 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.NauticalMile, 8.689762419 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Chain, 800.0 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Rod, 3200.0 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.AstronomicalUnit, 1.075780017E-7 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.LightYear, 1.70107795E-12 }; - yield return new object[] { 10.0, LengthUnit.Mile, LengthUnit.Parsec, 5.215528705E-13 }; - - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.NauticalMile, 10.0 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Meter, 18520 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Nanometer, 18520000000000 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Micrometer, 18520000000 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Millimeter, 18520000 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Centimeter, 1852000 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Decimeter, 185200 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Kilometer, 18.52 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Inch, 729133.85827 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Foot, 60761.154856 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Yard, 20253.7182852 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Mile, 11.50779448 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Chain, 920.62355842 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Rod, 3682.4942337 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.AstronomicalUnit, 1.237985535E-7 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.LightYear, 1.957565544E-12 }; - yield return new object[] { 10.0, LengthUnit.NauticalMile, LengthUnit.Parsec, 6.001923244E-13 }; - - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Chain, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Meter, 201.168 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Nanometer, 201168000000 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Micrometer, 201168000 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Millimeter, 201168 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Centimeter, 20116.8 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Decimeter, 2011.68 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Kilometer, 0.201168 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Inch, 7920.0 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Foot, 660.0 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Yard, 220.0 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Mile, 0.125 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.NauticalMile, 0.1086220302 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Rod, 40.0 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.AstronomicalUnit, 1.344725022E-9 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.LightYear, 2.126347437E-14 }; - yield return new object[] { 10.0, LengthUnit.Chain, LengthUnit.Parsec, 6.519410881E-15 }; - - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Rod, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Meter, 50.292 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Nanometer, 50292000000 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Micrometer, 50292000 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Millimeter, 50292 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Centimeter, 5029.2 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Decimeter, 502.92 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Kilometer, 0.050292 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Inch, 1980.0 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Foot, 165.0 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Yard, 55.0 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Mile, 0.03125 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.NauticalMile, 0.0271555076 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Chain, 2.5 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.AstronomicalUnit, 3.361812555E-10 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.LightYear, 5.315868594E-15 }; - yield return new object[] { 10.0, LengthUnit.Rod, LengthUnit.Parsec, 1.62985272E-15 }; - - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.AstronomicalUnit, 10.0 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Meter, 1495978706910 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Nanometer, 1.49597870691E+21 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Micrometer, 1.49597870691E+18 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Millimeter, 1495978706910000 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Centimeter, 149597870691000 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Decimeter, 14959787069100 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Kilometer, 1495978706.91 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Inch, 58896799484645.67 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Foot, 4908066623720.473 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Yard, 1636022207906.8242 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Mile, 929558072.6743319 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.NauticalMile, 807763880.6209503 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Chain, 74364645813.94655 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Rod, 297458583255.7862 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.LightYear, 0.0001581251 }; - yield return new object[] { 10.0, LengthUnit.AstronomicalUnit, LengthUnit.Parsec, 0.0000484814 }; - - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.LightYear, 10.0 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Meter, 94607304725800450 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Nanometer, 9.460730472580045E+25 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Micrometer, 9.460730472580046E+22 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Millimeter, 94607304725800450000.0 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Centimeter, 9460730472580045000.0 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Decimeter, 946073047258004500.0 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Kilometer, 94607304725800.45 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Inch, 3724697036448836600 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Foot, 310391419704069700 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Yard, 103463806568023230 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Mile, 58786253731831.38 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.NauticalMile, 51083857843304.79 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Chain, 4702900298546510 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Rod, 18811601194186040 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.AstronomicalUnit, 632410.77088 }; - yield return new object[] { 10.0, LengthUnit.LightYear, LengthUnit.Parsec, 3.0660139381 }; - - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Parsec, 10.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Meter, 308567758127995900.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Nanometer, 3.0856775812799587E+26 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Micrometer, 3.085677581279959E+23 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Millimeter, 308567758127995900000.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Centimeter, 30856775812799590000.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Decimeter, 3085677581279959000.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Kilometer, 308567758127995.9 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Inch, 12148336934173067000.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Foot, 1012361411181088900.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Yard, 337453803727029600.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Mile, 191735115753994.1 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.NauticalMile, 166613260328291.53 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Chain, 15338809260319528.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.Rod, 61355237041278110.0 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.AstronomicalUnit, 2062648.0624537375 }; - yield return new object[] { 10.0, LengthUnit.Parsec, LengthUnit.LightYear, 32.615637769 }; + yield return [10.0, LengthUnit.Meter, LengthUnit.Meter, 10.0]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Nanometer, 10000000000.0]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Micrometer, 10000000.0]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Millimeter, 10000.0]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Centimeter, 1000.0]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Decimeter, 100.0]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Kilometer, 0.01]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Inch, 393.7007874]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Foot, 32.80839895]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Yard, 10.936132983]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Mile, 0.0062137119]; + yield return [10.0, LengthUnit.Meter, LengthUnit.NauticalMile, 0.005399568]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Chain, 0.4970969538]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Rod, 1.9883878152]; + yield return [10.0, LengthUnit.Meter, LengthUnit.AstronomicalUnit, 6.684587122E-11]; + yield return [10.0, LengthUnit.Meter, LengthUnit.LightYear, 1.057000834E-15]; + yield return [10.0, LengthUnit.Meter, LengthUnit.Parsec, 3.240779289E-16]; + + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Nanometer, 10.0]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Meter, 1.0E-8]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Micrometer, 0.01]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Millimeter, 0.00001]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Centimeter, 0.000001]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Decimeter, 1.0E-7]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Kilometer, 1.0E-11]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Inch, 3.937007874E-7]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Foot, 3.280839895E-8]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Yard, 1.093613298E-8]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Mile, 6.213711922E-12]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.NauticalMile, 5.399568034E-12]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Chain, 4.970969537E-10]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Rod, 1.988387815E-9]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.AstronomicalUnit, 6.684587122E-20]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.LightYear, 1.057000834E-24]; + yield return [10.0, LengthUnit.Nanometer, LengthUnit.Parsec, 3.240779289E-25]; + + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Micrometer, 10.0]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Meter, 0.00001]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Nanometer, 10000.0]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Millimeter, 0.01]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Centimeter, 0.001]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Decimeter, 0.0001]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Kilometer, 1.0E-8]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Inch, 0.0003937008]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Foot, 0.0000328084]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Yard, 0.0000109361]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Mile, 6.213711922E-9]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.NauticalMile, 5.399568034E-9]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Chain, 4.970969537E-7]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Rod, 0.0000019884]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.AstronomicalUnit, 6.684587122E-17]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.LightYear, 1.057000834E-21]; + yield return [10.0, LengthUnit.Micrometer, LengthUnit.Parsec, 3.240779289E-22]; + + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Millimeter, 10.0]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Meter, 0.01]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Nanometer, 10000000.0]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Micrometer, 10000.0]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Centimeter, 1.0]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Decimeter, 0.1]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Kilometer, 0.00001]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Inch, 0.3937007874]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Foot, 0.032808399]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Yard, 0.010936133]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Mile, 0.0000062137]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.NauticalMile, 0.0000053996]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Chain, 0.000497097]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Rod, 0.0019883878]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.AstronomicalUnit, 6.684587122E-14]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.LightYear, 1.057000834E-18]; + yield return [10.0, LengthUnit.Millimeter, LengthUnit.Parsec, 3.240779289E-19]; + + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Centimeter, 10.0]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Meter, 0.1]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Nanometer, 100000000.0]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Micrometer, 100000.0]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Millimeter, 100.0]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Decimeter, 1.0]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Kilometer, 0.0001]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Inch, 3.937007874]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Foot, 0.3280839895]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Yard, 0.1093613298]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Mile, 0.0000621371]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.NauticalMile, 0.0000539957]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Chain, 0.0049709695]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Rod, 0.0198838782]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.AstronomicalUnit, 6.684587122E-13]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.LightYear, 1.057000834E-17]; + yield return [10.0, LengthUnit.Centimeter, LengthUnit.Parsec, 3.240779289E-18]; + + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Decimeter, 10.0]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Meter, 1.0]; + yield return [1.0, LengthUnit.Decimeter, LengthUnit.Nanometer, 100000000.0]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Micrometer, 1000000.0]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Millimeter, 1000.0]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Centimeter, 100.0]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Kilometer, 0.001]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Inch, 39.37007874]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Foot, 3.280839895]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Yard, 1.0936132983]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Mile, 0.0006213712]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.NauticalMile, 0.0005399568]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Chain, 0.0497096954]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Rod, 0.1988387815]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.AstronomicalUnit, 6.684587122E-12]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.LightYear, 1.057000834E-16]; + yield return [10.0, LengthUnit.Decimeter, LengthUnit.Parsec, 3.240779289E-17]; + + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Kilometer, 10.0]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Meter, 10000.0]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Nanometer, 10000000000000.0]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Micrometer, 10000000000.0]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Millimeter, 10000000.0]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Centimeter, 1000000.0]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Decimeter, 100000.0]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Inch, 393700.7874015748]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Foot, 32808.39895013]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Yard, 10936.132983377]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Mile, 6.2137119224]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.NauticalMile, 5.3995680346]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Chain, 497.09695379]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Rod, 1988.387815159]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.AstronomicalUnit, 6.684587122E-8]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.LightYear, 1.057000834E-12]; + yield return [10.0, LengthUnit.Kilometer, LengthUnit.Parsec, 3.240779289E-13]; + + yield return [10.0, LengthUnit.Inch, LengthUnit.Inch, 10.0]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Meter, 0.254]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Nanometer, 254000000.0]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Micrometer, 254000.0]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Millimeter, 254.0]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Centimeter, 25.4]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Decimeter, 2.54]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Kilometer, 0.000254]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Foot, 0.8333333333]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Yard, 0.2777777778]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Mile, 0.0001578283]; + yield return [10.0, LengthUnit.Inch, LengthUnit.NauticalMile, 0.000137149]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Chain, 0.0126262626]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Rod, 0.0505050505]; + yield return [10.0, LengthUnit.Inch, LengthUnit.AstronomicalUnit, 1.697885129E-12]; + yield return [10.0, LengthUnit.Inch, LengthUnit.LightYear, 2.684782118E-17]; + yield return [10.0, LengthUnit.Inch, LengthUnit.Parsec, 8.231579395E-18]; + + yield return [10.0, LengthUnit.Foot, LengthUnit.Foot, 10.0]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Meter, 3.048]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Nanometer, 3048000000]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Micrometer, 3048000]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Millimeter, 3048]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Centimeter, 304.8]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Decimeter, 30.48]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Kilometer, 0.003048]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Inch, 120.0]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Yard, 3.3333333333]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Mile, 0.0018939394]; + yield return [10.0, LengthUnit.Foot, LengthUnit.NauticalMile, 0.0016457883]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Chain, 0.1515151515]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Rod, 0.6060606061]; + yield return [10.0, LengthUnit.Foot, LengthUnit.AstronomicalUnit, 2.037462154E-11]; + yield return [10.0, LengthUnit.Foot, LengthUnit.LightYear, 3.221738542E-16]; + yield return [10.0, LengthUnit.Foot, LengthUnit.Parsec, 9.877895274E-17]; + + yield return [10.0, LengthUnit.Yard, LengthUnit.Yard, 10.0]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Meter, 9.144]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Nanometer, 9144000000]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Micrometer, 9144000]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Millimeter, 9144]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Centimeter, 914.4]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Decimeter, 91.44]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Kilometer, 0.009144]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Inch, 360.0]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Foot, 30.0]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Mile, 0.0056818182]; + yield return [10.0, LengthUnit.Yard, LengthUnit.NauticalMile, 0.004937365010799136]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Chain, 0.4545454545]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Rod, 1.8181818182]; + yield return [10.0, LengthUnit.Yard, LengthUnit.AstronomicalUnit, 6.112386464E-11]; + yield return [10.0, LengthUnit.Yard, LengthUnit.LightYear, 9.665215626E-16]; + yield return [10.0, LengthUnit.Yard, LengthUnit.Parsec, 2.963368582E-16]; + + yield return [10.0, LengthUnit.Mile, LengthUnit.Mile, 10.0]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Meter, 16093.44]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Nanometer, 16093440000000]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Micrometer, 16093440000]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Millimeter, 16093440]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Centimeter, 1609344]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Decimeter, 160934.4]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Kilometer, 16.09344]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Inch, 633600]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Foot, 52800]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Yard, 17600]; + yield return [10.0, LengthUnit.Mile, LengthUnit.NauticalMile, 8.689762419]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Chain, 800.0]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Rod, 3200.0]; + yield return [10.0, LengthUnit.Mile, LengthUnit.AstronomicalUnit, 1.075780017E-7]; + yield return [10.0, LengthUnit.Mile, LengthUnit.LightYear, 1.70107795E-12]; + yield return [10.0, LengthUnit.Mile, LengthUnit.Parsec, 5.215528705E-13]; + + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.NauticalMile, 10.0]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Meter, 18520]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Nanometer, 18520000000000]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Micrometer, 18520000000]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Millimeter, 18520000]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Centimeter, 1852000]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Decimeter, 185200]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Kilometer, 18.52]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Inch, 729133.85827]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Foot, 60761.154856]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Yard, 20253.7182852]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Mile, 11.50779448]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Chain, 920.62355842]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Rod, 3682.4942337]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.AstronomicalUnit, 1.237985535E-7]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.LightYear, 1.957565544E-12]; + yield return [10.0, LengthUnit.NauticalMile, LengthUnit.Parsec, 6.001923244E-13]; + + yield return [10.0, LengthUnit.Chain, LengthUnit.Chain, 10.0]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Meter, 201.168]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Nanometer, 201168000000]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Micrometer, 201168000]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Millimeter, 201168]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Centimeter, 20116.8]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Decimeter, 2011.68]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Kilometer, 0.201168]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Inch, 7920.0]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Foot, 660.0]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Yard, 220.0]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Mile, 0.125]; + yield return [10.0, LengthUnit.Chain, LengthUnit.NauticalMile, 0.1086220302]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Rod, 40.0]; + yield return [10.0, LengthUnit.Chain, LengthUnit.AstronomicalUnit, 1.344725022E-9]; + yield return [10.0, LengthUnit.Chain, LengthUnit.LightYear, 2.126347437E-14]; + yield return [10.0, LengthUnit.Chain, LengthUnit.Parsec, 6.519410881E-15]; + + yield return [10.0, LengthUnit.Rod, LengthUnit.Rod, 10.0]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Meter, 50.292]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Nanometer, 50292000000]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Micrometer, 50292000]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Millimeter, 50292]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Centimeter, 5029.2]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Decimeter, 502.92]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Kilometer, 0.050292]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Inch, 1980.0]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Foot, 165.0]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Yard, 55.0]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Mile, 0.03125]; + yield return [10.0, LengthUnit.Rod, LengthUnit.NauticalMile, 0.0271555076]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Chain, 2.5]; + yield return [10.0, LengthUnit.Rod, LengthUnit.AstronomicalUnit, 3.361812555E-10]; + yield return [10.0, LengthUnit.Rod, LengthUnit.LightYear, 5.315868594E-15]; + yield return [10.0, LengthUnit.Rod, LengthUnit.Parsec, 1.62985272E-15]; + + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.AstronomicalUnit, 10.0]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Meter, 1495978706910]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Nanometer, 1.49597870691E+21]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Micrometer, 1.49597870691E+18]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Millimeter, 1495978706910000]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Centimeter, 149597870691000]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Decimeter, 14959787069100]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Kilometer, 1495978706.91]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Inch, 58896799484645.67]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Foot, 4908066623720.473]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Yard, 1636022207906.8242]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Mile, 929558072.6743319]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.NauticalMile, 807763880.6209503]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Chain, 74364645813.94655]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Rod, 297458583255.7862]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.LightYear, 0.0001581251]; + yield return [10.0, LengthUnit.AstronomicalUnit, LengthUnit.Parsec, 0.0000484814]; + + yield return [10.0, LengthUnit.LightYear, LengthUnit.LightYear, 10.0]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Meter, 94607304725800450]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Nanometer, 9.460730472580045E+25]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Micrometer, 9.460730472580046E+22]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Millimeter, 94607304725800450000.0]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Centimeter, 9460730472580045000.0]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Decimeter, 946073047258004500.0]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Kilometer, 94607304725800.45]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Inch, 3724697036448836600]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Foot, 310391419704069700]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Yard, 103463806568023230]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Mile, 58786253731831.38]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.NauticalMile, 51083857843304.79]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Chain, 4702900298546510]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Rod, 18811601194186040]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.AstronomicalUnit, 632410.77088]; + yield return [10.0, LengthUnit.LightYear, LengthUnit.Parsec, 3.0660139381]; + + yield return [10.0, LengthUnit.Parsec, LengthUnit.Parsec, 10.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Meter, 308567758127995900.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Nanometer, 3.0856775812799587E+26]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Micrometer, 3.085677581279959E+23]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Millimeter, 308567758127995900000.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Centimeter, 30856775812799590000.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Decimeter, 3085677581279959000.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Kilometer, 308567758127995.9]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Inch, 12148336934173067000.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Foot, 1012361411181088900.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Yard, 337453803727029600.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Mile, 191735115753994.1]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.NauticalMile, 166613260328291.53]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Chain, 15338809260319528.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.Rod, 61355237041278110.0]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.AstronomicalUnit, 2062648.0624537375]; + yield return [10.0, LengthUnit.Parsec, LengthUnit.LightYear, 32.615637769]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/MassUnits/MassValueTest.cs b/xFunc.Tests/Expressions/Units/MassUnits/MassValueTest.cs index 8ab0cb8b2..ab0347076 100644 --- a/xFunc.Tests/Expressions/Units/MassUnits/MassValueTest.cs +++ b/xFunc.Tests/Expressions/Units/MassUnits/MassValueTest.cs @@ -228,42 +228,42 @@ public void SubOperatorTest() public static IEnumerable GetConversionTestCases() { - yield return new object[] { 10.0, MassUnit.Milligram, MassUnit.Milligram, 10.0 }; - yield return new object[] { 1000.0, MassUnit.Milligram, MassUnit.Gram, 1.0 }; - yield return new object[] { 1000000.0, MassUnit.Milligram, MassUnit.Kilogram, 1.0 }; - yield return new object[] { 1000000000.0, MassUnit.Milligram, MassUnit.Tonne, 1.0 }; - yield return new object[] { 1000.0, MassUnit.Milligram, MassUnit.Ounce, 0.0352739619 }; - yield return new object[] { 1000.0, MassUnit.Milligram, MassUnit.Pound, 0.0022046226 }; - yield return new object[] { 10.0, MassUnit.Gram, MassUnit.Gram, 10.0 }; - yield return new object[] { 10.0, MassUnit.Gram, MassUnit.Milligram, 10000.0 }; - yield return new object[] { 10.0, MassUnit.Gram, MassUnit.Kilogram, 0.01 }; - yield return new object[] { 1000.0, MassUnit.Gram, MassUnit.Tonne, 0.001 }; - yield return new object[] { 10.0, MassUnit.Gram, MassUnit.Ounce, 0.35273962 }; - yield return new object[] { 10.0, MassUnit.Gram, MassUnit.Pound, 0.022046226 }; - yield return new object[] { 10.0, MassUnit.Kilogram, MassUnit.Kilogram, 10.0 }; - yield return new object[] { 10.0, MassUnit.Kilogram, MassUnit.Milligram, 10000000.0 }; - yield return new object[] { 10.0, MassUnit.Kilogram, MassUnit.Gram, 10000 }; - yield return new object[] { 10.0, MassUnit.Kilogram, MassUnit.Tonne, 0.01 }; - yield return new object[] { 10.0, MassUnit.Kilogram, MassUnit.Ounce, 352.739619807 }; - yield return new object[] { 10.0, MassUnit.Kilogram, MassUnit.Pound, 22.046226218 }; - yield return new object[] { 10.0, MassUnit.Tonne, MassUnit.Tonne, 10.0 }; - yield return new object[] { 10.0, MassUnit.Tonne, MassUnit.Milligram, 10000000000.0 }; - yield return new object[] { 10.0, MassUnit.Tonne, MassUnit.Gram, 10000000.0 }; - yield return new object[] { 10.0, MassUnit.Tonne, MassUnit.Kilogram, 10000.0 }; - yield return new object[] { 1.0, MassUnit.Tonne, MassUnit.Ounce, 35273.961980687 }; - yield return new object[] { 1.0, MassUnit.Tonne, MassUnit.Pound, 2204.622621849 }; - yield return new object[] { 10.0, MassUnit.Ounce, MassUnit.Ounce, 10.0 }; - yield return new object[] { 10.0, MassUnit.Ounce, MassUnit.Milligram, 283495.231 }; - yield return new object[] { 10.0, MassUnit.Ounce, MassUnit.Gram, 283.495231 }; - yield return new object[] { 10.0, MassUnit.Ounce, MassUnit.Kilogram, 0.283495231 }; - yield return new object[] { 10.0, MassUnit.Ounce, MassUnit.Tonne, 0.000283495 }; - yield return new object[] { 1.0, MassUnit.Ounce, MassUnit.Pound, 0.0625 }; - yield return new object[] { 10.0, MassUnit.Pound, MassUnit.Pound, 10.0 }; - yield return new object[] { 10.0, MassUnit.Pound, MassUnit.Milligram, 4535923.7 }; - yield return new object[] { 10.0, MassUnit.Pound, MassUnit.Gram, 4535.9237 }; - yield return new object[] { 10.0, MassUnit.Pound, MassUnit.Kilogram, 4.5359237 }; - yield return new object[] { 10.0, MassUnit.Pound, MassUnit.Tonne, 0.004535924 }; - yield return new object[] { 10.0, MassUnit.Pound, MassUnit.Ounce, 160.0 }; + yield return [10.0, MassUnit.Milligram, MassUnit.Milligram, 10.0]; + yield return [1000.0, MassUnit.Milligram, MassUnit.Gram, 1.0]; + yield return [1000000.0, MassUnit.Milligram, MassUnit.Kilogram, 1.0]; + yield return [1000000000.0, MassUnit.Milligram, MassUnit.Tonne, 1.0]; + yield return [1000.0, MassUnit.Milligram, MassUnit.Ounce, 0.0352739619]; + yield return [1000.0, MassUnit.Milligram, MassUnit.Pound, 0.0022046226]; + yield return [10.0, MassUnit.Gram, MassUnit.Gram, 10.0]; + yield return [10.0, MassUnit.Gram, MassUnit.Milligram, 10000.0]; + yield return [10.0, MassUnit.Gram, MassUnit.Kilogram, 0.01]; + yield return [1000.0, MassUnit.Gram, MassUnit.Tonne, 0.001]; + yield return [10.0, MassUnit.Gram, MassUnit.Ounce, 0.35273962]; + yield return [10.0, MassUnit.Gram, MassUnit.Pound, 0.022046226]; + yield return [10.0, MassUnit.Kilogram, MassUnit.Kilogram, 10.0]; + yield return [10.0, MassUnit.Kilogram, MassUnit.Milligram, 10000000.0]; + yield return [10.0, MassUnit.Kilogram, MassUnit.Gram, 10000]; + yield return [10.0, MassUnit.Kilogram, MassUnit.Tonne, 0.01]; + yield return [10.0, MassUnit.Kilogram, MassUnit.Ounce, 352.739619807]; + yield return [10.0, MassUnit.Kilogram, MassUnit.Pound, 22.046226218]; + yield return [10.0, MassUnit.Tonne, MassUnit.Tonne, 10.0]; + yield return [10.0, MassUnit.Tonne, MassUnit.Milligram, 10000000000.0]; + yield return [10.0, MassUnit.Tonne, MassUnit.Gram, 10000000.0]; + yield return [10.0, MassUnit.Tonne, MassUnit.Kilogram, 10000.0]; + yield return [1.0, MassUnit.Tonne, MassUnit.Ounce, 35273.961980687]; + yield return [1.0, MassUnit.Tonne, MassUnit.Pound, 2204.622621849]; + yield return [10.0, MassUnit.Ounce, MassUnit.Ounce, 10.0]; + yield return [10.0, MassUnit.Ounce, MassUnit.Milligram, 283495.231]; + yield return [10.0, MassUnit.Ounce, MassUnit.Gram, 283.495231]; + yield return [10.0, MassUnit.Ounce, MassUnit.Kilogram, 0.283495231]; + yield return [10.0, MassUnit.Ounce, MassUnit.Tonne, 0.000283495]; + yield return [1.0, MassUnit.Ounce, MassUnit.Pound, 0.0625]; + yield return [10.0, MassUnit.Pound, MassUnit.Pound, 10.0]; + yield return [10.0, MassUnit.Pound, MassUnit.Milligram, 4535923.7]; + yield return [10.0, MassUnit.Pound, MassUnit.Gram, 4535.9237]; + yield return [10.0, MassUnit.Pound, MassUnit.Kilogram, 4.5359237]; + yield return [10.0, MassUnit.Pound, MassUnit.Tonne, 0.004535924]; + yield return [10.0, MassUnit.Pound, MassUnit.Ounce, 160.0]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/PowerUnits/PowerValueTest.cs b/xFunc.Tests/Expressions/Units/PowerUnits/PowerValueTest.cs index 1fdef7887..44d30648c 100644 --- a/xFunc.Tests/Expressions/Units/PowerUnits/PowerValueTest.cs +++ b/xFunc.Tests/Expressions/Units/PowerUnits/PowerValueTest.cs @@ -182,15 +182,15 @@ public void ToStringHorsepowerTest() public static IEnumerable GetConversionTestCases() { - yield return new object[] { 10.0, PowerUnit.Watt, PowerUnit.Watt, 10.0 }; - yield return new object[] { 10.0, PowerUnit.Watt, PowerUnit.Kilowatt, 10.0 / 1000 }; - yield return new object[] { 10.0, PowerUnit.Watt, PowerUnit.Horsepower, 10.0 / 745.69987158227022 }; - yield return new object[] { 10.0, PowerUnit.Kilowatt, PowerUnit.Kilowatt, 10.0 }; - yield return new object[] { 10.0, PowerUnit.Kilowatt, PowerUnit.Watt, 10.0 * 1000 }; - yield return new object[] { 10.0, PowerUnit.Kilowatt, PowerUnit.Horsepower, 10.0 * 1000 / 745.69987158227022 }; - yield return new object[] { 10.0, PowerUnit.Horsepower, PowerUnit.Horsepower, 10.0 }; - yield return new object[] { 10.0, PowerUnit.Horsepower, PowerUnit.Watt, 10.0 * 745.69987158227022 }; - yield return new object[] { 10.0, PowerUnit.Horsepower, PowerUnit.Kilowatt, 10.0 * 745.69987158227022 / 1000 }; + yield return [10.0, PowerUnit.Watt, PowerUnit.Watt, 10.0]; + yield return [10.0, PowerUnit.Watt, PowerUnit.Kilowatt, 10.0 / 1000]; + yield return [10.0, PowerUnit.Watt, PowerUnit.Horsepower, 10.0 / 745.69987158227022]; + yield return [10.0, PowerUnit.Kilowatt, PowerUnit.Kilowatt, 10.0]; + yield return [10.0, PowerUnit.Kilowatt, PowerUnit.Watt, 10.0 * 1000]; + yield return [10.0, PowerUnit.Kilowatt, PowerUnit.Horsepower, 10.0 * 1000 / 745.69987158227022]; + yield return [10.0, PowerUnit.Horsepower, PowerUnit.Horsepower, 10.0]; + yield return [10.0, PowerUnit.Horsepower, PowerUnit.Watt, 10.0 * 745.69987158227022]; + yield return [10.0, PowerUnit.Horsepower, PowerUnit.Kilowatt, 10.0 * 745.69987158227022 / 1000]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/TemperatureUnits/TemperatureValueTest.cs b/xFunc.Tests/Expressions/Units/TemperatureUnits/TemperatureValueTest.cs index b8153c2a1..2939f7ff0 100644 --- a/xFunc.Tests/Expressions/Units/TemperatureUnits/TemperatureValueTest.cs +++ b/xFunc.Tests/Expressions/Units/TemperatureUnits/TemperatureValueTest.cs @@ -204,17 +204,17 @@ public void ToStringKelvinTest() public static IEnumerable GetConversionTestCases() { - yield return new object[] { 10.0, TemperatureUnit.Celsius, TemperatureUnit.Celsius, 10.0 }; - yield return new object[] { 10.0, TemperatureUnit.Celsius, TemperatureUnit.Fahrenheit, 50.0 }; - yield return new object[] { 10.0, TemperatureUnit.Celsius, TemperatureUnit.Kelvin, 283.15 }; + yield return [10.0, TemperatureUnit.Celsius, TemperatureUnit.Celsius, 10.0]; + yield return [10.0, TemperatureUnit.Celsius, TemperatureUnit.Fahrenheit, 50.0]; + yield return [10.0, TemperatureUnit.Celsius, TemperatureUnit.Kelvin, 283.15]; - yield return new object[] { 10.0, TemperatureUnit.Fahrenheit, TemperatureUnit.Fahrenheit, 10.0 }; - yield return new object[] { 10.0, TemperatureUnit.Fahrenheit, TemperatureUnit.Celsius, -12.222222 }; - yield return new object[] { 10.0, TemperatureUnit.Fahrenheit, TemperatureUnit.Kelvin, 260.927778 }; + yield return [10.0, TemperatureUnit.Fahrenheit, TemperatureUnit.Fahrenheit, 10.0]; + yield return [10.0, TemperatureUnit.Fahrenheit, TemperatureUnit.Celsius, -12.222222]; + yield return [10.0, TemperatureUnit.Fahrenheit, TemperatureUnit.Kelvin, 260.927778]; - yield return new object[] { 10.0, TemperatureUnit.Kelvin, TemperatureUnit.Kelvin, 10.0 }; - yield return new object[] { 10.0, TemperatureUnit.Kelvin, TemperatureUnit.Celsius, -263.15 }; - yield return new object[] { 10.0, TemperatureUnit.Kelvin, TemperatureUnit.Fahrenheit, -441.66999999999996 }; + yield return [10.0, TemperatureUnit.Kelvin, TemperatureUnit.Kelvin, 10.0]; + yield return [10.0, TemperatureUnit.Kelvin, TemperatureUnit.Celsius, -263.15]; + yield return [10.0, TemperatureUnit.Kelvin, TemperatureUnit.Fahrenheit, -441.66999999999996]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/TimeUnits/TimeValueTest.cs b/xFunc.Tests/Expressions/Units/TimeUnits/TimeValueTest.cs index cf1ccf976..f885d08dc 100644 --- a/xFunc.Tests/Expressions/Units/TimeUnits/TimeValueTest.cs +++ b/xFunc.Tests/Expressions/Units/TimeUnits/TimeValueTest.cs @@ -252,94 +252,94 @@ public void SubOperatorTest() public static IEnumerable GetConversionTestCases() { - yield return new object[] { 10.0, TimeUnit.Second, TimeUnit.Second, 10.0 }; - yield return new object[] { 10.0, TimeUnit.Second, TimeUnit.Nanosecond, 10000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Second, TimeUnit.Microsecond, 10000000.0 }; - yield return new object[] { 10.0, TimeUnit.Second, TimeUnit.Millisecond, 10000.0 }; - yield return new object[] { 10.0, TimeUnit.Second, TimeUnit.Minute, 0.16666666666666666 }; - yield return new object[] { 10.0, TimeUnit.Second, TimeUnit.Hour, 0.002777777777777778 }; - yield return new object[] { 10.0, TimeUnit.Second, TimeUnit.Day, 0.0001157407407407407 }; - yield return new object[] { 100.0, TimeUnit.Second, TimeUnit.Week, 0.00016666666666666666 }; - yield return new object[] { 100000.0, TimeUnit.Second, TimeUnit.Year, 0.0031688088 }; - - yield return new object[] { 10.0, TimeUnit.Nanosecond, TimeUnit.Nanosecond, 10.0 }; - yield return new object[] { 10.0, TimeUnit.Nanosecond, TimeUnit.Second, 0.000000001 }; - yield return new object[] { 10.0, TimeUnit.Nanosecond, TimeUnit.Microsecond, 0.01 }; - yield return new object[] { 10.0, TimeUnit.Nanosecond, TimeUnit.Millisecond, 0.00001 }; - yield return new object[] { 1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Minute, 16.666666667 }; - yield return new object[] { 1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Hour, 0.2777777778 }; - yield return new object[] { 1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Day, 0.0115740741 }; - yield return new object[] { 1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Week, 0.0016534392 }; - yield return new object[] { 1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Year, 0.0000316881 }; - - yield return new object[] { 10.0, TimeUnit.Microsecond, TimeUnit.Microsecond, 10.0 }; - yield return new object[] { 10.0, TimeUnit.Microsecond, TimeUnit.Second, 0.00001 }; - yield return new object[] { 10.0, TimeUnit.Microsecond, TimeUnit.Nanosecond, 10000.0 }; - yield return new object[] { 10.0, TimeUnit.Microsecond, TimeUnit.Millisecond, 0.01 }; - yield return new object[] { 1000000000.0, TimeUnit.Microsecond, TimeUnit.Minute, 16.666666667 }; - yield return new object[] { 1000000000.0, TimeUnit.Microsecond, TimeUnit.Hour, 0.2777777778 }; - yield return new object[] { 1000000000.0, TimeUnit.Microsecond, TimeUnit.Day, 0.0115740741 }; - yield return new object[] { 1000000000.0, TimeUnit.Microsecond, TimeUnit.Week, 0.0016534392 }; - yield return new object[] { 1000000000.0, TimeUnit.Microsecond, TimeUnit.Year, 0.0000316881 }; - - yield return new object[] { 10.0, TimeUnit.Millisecond, TimeUnit.Millisecond, 10.0 }; - yield return new object[] { 10.0, TimeUnit.Millisecond, TimeUnit.Second, 0.01 }; - yield return new object[] { 10.0, TimeUnit.Millisecond, TimeUnit.Nanosecond, 10000000.0 }; - yield return new object[] { 10.0, TimeUnit.Millisecond, TimeUnit.Microsecond, 10000.0 }; - yield return new object[] { 10.0, TimeUnit.Millisecond, TimeUnit.Minute, 0.0001666667 }; - yield return new object[] { 1000000.0, TimeUnit.Millisecond, TimeUnit.Hour, 0.2777777778 }; - yield return new object[] { 1000000.0, TimeUnit.Millisecond, TimeUnit.Day, 0.0115740741 }; - yield return new object[] { 1000000.0, TimeUnit.Millisecond, TimeUnit.Week, 0.0016534392 }; - yield return new object[] { 1000000.0, TimeUnit.Millisecond, TimeUnit.Year, 0.0000316881 }; - - yield return new object[] { 10.0, TimeUnit.Minute, TimeUnit.Minute, 10.0 }; - yield return new object[] { 10.0, TimeUnit.Minute, TimeUnit.Second, 600.0 }; - yield return new object[] { 10.0, TimeUnit.Minute, TimeUnit.Nanosecond, 600000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Minute, TimeUnit.Microsecond, 600000000.0 }; - yield return new object[] { 10.0, TimeUnit.Minute, TimeUnit.Millisecond, 600000.0 }; - yield return new object[] { 10.0, TimeUnit.Minute, TimeUnit.Hour, 0.1666666667 }; - yield return new object[] { 10.0, TimeUnit.Minute, TimeUnit.Day, 0.006944444444444444 }; - yield return new object[] { 10.0, TimeUnit.Minute, TimeUnit.Week, 0.0009920635 }; - yield return new object[] { 10.0, TimeUnit.Minute, TimeUnit.Year, 0.0000190129 }; - - yield return new object[] { 10.0, TimeUnit.Hour, TimeUnit.Hour, 10.0 }; - yield return new object[] { 10.0, TimeUnit.Hour, TimeUnit.Second, 36000.0 }; - yield return new object[] { 10.0, TimeUnit.Hour, TimeUnit.Nanosecond, 36000000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Hour, TimeUnit.Microsecond, 36000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Hour, TimeUnit.Millisecond, 36000000.0 }; - yield return new object[] { 10.0, TimeUnit.Hour, TimeUnit.Minute, 600.0 }; - yield return new object[] { 10.0, TimeUnit.Hour, TimeUnit.Day, 0.4166666667 }; - yield return new object[] { 10.0, TimeUnit.Hour, TimeUnit.Week, 0.0595238095 }; - yield return new object[] { 10.0, TimeUnit.Hour, TimeUnit.Year, 0.0011407712 }; - - yield return new object[] { 10.0, TimeUnit.Day, TimeUnit.Day, 10.0 }; - yield return new object[] { 10.0, TimeUnit.Day, TimeUnit.Second, 864000.0 }; - yield return new object[] { 10.0, TimeUnit.Day, TimeUnit.Nanosecond, 864000000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Day, TimeUnit.Microsecond, 864000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Day, TimeUnit.Millisecond, 864000000.0 }; - yield return new object[] { 10.0, TimeUnit.Day, TimeUnit.Minute, 14400.0 }; - yield return new object[] { 10.0, TimeUnit.Day, TimeUnit.Hour, 240.0 }; - yield return new object[] { 10.0, TimeUnit.Day, TimeUnit.Week, 1.4285714286 }; - yield return new object[] { 10.0, TimeUnit.Day, TimeUnit.Year, 0.0273973 }; - - yield return new object[] { 10.0, TimeUnit.Week, TimeUnit.Week, 10.0 }; - yield return new object[] { 10.0, TimeUnit.Week, TimeUnit.Second, 6048000.0 }; - yield return new object[] { 10.0, TimeUnit.Week, TimeUnit.Nanosecond, 6048000000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Week, TimeUnit.Microsecond, 6048000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Week, TimeUnit.Millisecond, 6048000000.0 }; - yield return new object[] { 10.0, TimeUnit.Week, TimeUnit.Minute, 100800.0 }; - yield return new object[] { 10.0, TimeUnit.Week, TimeUnit.Hour, 1680.0 }; - yield return new object[] { 10.0, TimeUnit.Week, TimeUnit.Day, 70.0 }; - yield return new object[] { 10.0, TimeUnit.Week, TimeUnit.Year, 0.1917808219178082 }; - - yield return new object[] { 10.0, TimeUnit.Year, TimeUnit.Year, 10.0 }; - yield return new object[] { 10.0, TimeUnit.Year, TimeUnit.Second, 315360000.0 }; - yield return new object[] { 10.0, TimeUnit.Year, TimeUnit.Nanosecond, 315360000000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Year, TimeUnit.Microsecond, 315360000000000.0 }; - yield return new object[] { 10.0, TimeUnit.Year, TimeUnit.Millisecond, 315360000000.0 }; - yield return new object[] { 10.0, TimeUnit.Year, TimeUnit.Minute, 5256000.0 }; - yield return new object[] { 10.0, TimeUnit.Year, TimeUnit.Hour, 87600.0 }; - yield return new object[] { 10.0, TimeUnit.Year, TimeUnit.Day, 3650.0 }; + yield return [10.0, TimeUnit.Second, TimeUnit.Second, 10.0]; + yield return [10.0, TimeUnit.Second, TimeUnit.Nanosecond, 10000000000.0]; + yield return [10.0, TimeUnit.Second, TimeUnit.Microsecond, 10000000.0]; + yield return [10.0, TimeUnit.Second, TimeUnit.Millisecond, 10000.0]; + yield return [10.0, TimeUnit.Second, TimeUnit.Minute, 0.16666666666666666]; + yield return [10.0, TimeUnit.Second, TimeUnit.Hour, 0.002777777777777778]; + yield return [10.0, TimeUnit.Second, TimeUnit.Day, 0.0001157407407407407]; + yield return [100.0, TimeUnit.Second, TimeUnit.Week, 0.00016666666666666666]; + yield return [100000.0, TimeUnit.Second, TimeUnit.Year, 0.0031688088]; + + yield return [10.0, TimeUnit.Nanosecond, TimeUnit.Nanosecond, 10.0]; + yield return [10.0, TimeUnit.Nanosecond, TimeUnit.Second, 0.000000001]; + yield return [10.0, TimeUnit.Nanosecond, TimeUnit.Microsecond, 0.01]; + yield return [10.0, TimeUnit.Nanosecond, TimeUnit.Millisecond, 0.00001]; + yield return [1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Minute, 16.666666667]; + yield return [1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Hour, 0.2777777778]; + yield return [1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Day, 0.0115740741]; + yield return [1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Week, 0.0016534392]; + yield return [1000000000000.0, TimeUnit.Nanosecond, TimeUnit.Year, 0.0000316881]; + + yield return [10.0, TimeUnit.Microsecond, TimeUnit.Microsecond, 10.0]; + yield return [10.0, TimeUnit.Microsecond, TimeUnit.Second, 0.00001]; + yield return [10.0, TimeUnit.Microsecond, TimeUnit.Nanosecond, 10000.0]; + yield return [10.0, TimeUnit.Microsecond, TimeUnit.Millisecond, 0.01]; + yield return [1000000000.0, TimeUnit.Microsecond, TimeUnit.Minute, 16.666666667]; + yield return [1000000000.0, TimeUnit.Microsecond, TimeUnit.Hour, 0.2777777778]; + yield return [1000000000.0, TimeUnit.Microsecond, TimeUnit.Day, 0.0115740741]; + yield return [1000000000.0, TimeUnit.Microsecond, TimeUnit.Week, 0.0016534392]; + yield return [1000000000.0, TimeUnit.Microsecond, TimeUnit.Year, 0.0000316881]; + + yield return [10.0, TimeUnit.Millisecond, TimeUnit.Millisecond, 10.0]; + yield return [10.0, TimeUnit.Millisecond, TimeUnit.Second, 0.01]; + yield return [10.0, TimeUnit.Millisecond, TimeUnit.Nanosecond, 10000000.0]; + yield return [10.0, TimeUnit.Millisecond, TimeUnit.Microsecond, 10000.0]; + yield return [10.0, TimeUnit.Millisecond, TimeUnit.Minute, 0.0001666667]; + yield return [1000000.0, TimeUnit.Millisecond, TimeUnit.Hour, 0.2777777778]; + yield return [1000000.0, TimeUnit.Millisecond, TimeUnit.Day, 0.0115740741]; + yield return [1000000.0, TimeUnit.Millisecond, TimeUnit.Week, 0.0016534392]; + yield return [1000000.0, TimeUnit.Millisecond, TimeUnit.Year, 0.0000316881]; + + yield return [10.0, TimeUnit.Minute, TimeUnit.Minute, 10.0]; + yield return [10.0, TimeUnit.Minute, TimeUnit.Second, 600.0]; + yield return [10.0, TimeUnit.Minute, TimeUnit.Nanosecond, 600000000000.0]; + yield return [10.0, TimeUnit.Minute, TimeUnit.Microsecond, 600000000.0]; + yield return [10.0, TimeUnit.Minute, TimeUnit.Millisecond, 600000.0]; + yield return [10.0, TimeUnit.Minute, TimeUnit.Hour, 0.1666666667]; + yield return [10.0, TimeUnit.Minute, TimeUnit.Day, 0.006944444444444444]; + yield return [10.0, TimeUnit.Minute, TimeUnit.Week, 0.0009920635]; + yield return [10.0, TimeUnit.Minute, TimeUnit.Year, 0.0000190129]; + + yield return [10.0, TimeUnit.Hour, TimeUnit.Hour, 10.0]; + yield return [10.0, TimeUnit.Hour, TimeUnit.Second, 36000.0]; + yield return [10.0, TimeUnit.Hour, TimeUnit.Nanosecond, 36000000000000.0]; + yield return [10.0, TimeUnit.Hour, TimeUnit.Microsecond, 36000000000.0]; + yield return [10.0, TimeUnit.Hour, TimeUnit.Millisecond, 36000000.0]; + yield return [10.0, TimeUnit.Hour, TimeUnit.Minute, 600.0]; + yield return [10.0, TimeUnit.Hour, TimeUnit.Day, 0.4166666667]; + yield return [10.0, TimeUnit.Hour, TimeUnit.Week, 0.0595238095]; + yield return [10.0, TimeUnit.Hour, TimeUnit.Year, 0.0011407712]; + + yield return [10.0, TimeUnit.Day, TimeUnit.Day, 10.0]; + yield return [10.0, TimeUnit.Day, TimeUnit.Second, 864000.0]; + yield return [10.0, TimeUnit.Day, TimeUnit.Nanosecond, 864000000000000.0]; + yield return [10.0, TimeUnit.Day, TimeUnit.Microsecond, 864000000000.0]; + yield return [10.0, TimeUnit.Day, TimeUnit.Millisecond, 864000000.0]; + yield return [10.0, TimeUnit.Day, TimeUnit.Minute, 14400.0]; + yield return [10.0, TimeUnit.Day, TimeUnit.Hour, 240.0]; + yield return [10.0, TimeUnit.Day, TimeUnit.Week, 1.4285714286]; + yield return [10.0, TimeUnit.Day, TimeUnit.Year, 0.0273973]; + + yield return [10.0, TimeUnit.Week, TimeUnit.Week, 10.0]; + yield return [10.0, TimeUnit.Week, TimeUnit.Second, 6048000.0]; + yield return [10.0, TimeUnit.Week, TimeUnit.Nanosecond, 6048000000000000.0]; + yield return [10.0, TimeUnit.Week, TimeUnit.Microsecond, 6048000000000.0]; + yield return [10.0, TimeUnit.Week, TimeUnit.Millisecond, 6048000000.0]; + yield return [10.0, TimeUnit.Week, TimeUnit.Minute, 100800.0]; + yield return [10.0, TimeUnit.Week, TimeUnit.Hour, 1680.0]; + yield return [10.0, TimeUnit.Week, TimeUnit.Day, 70.0]; + yield return [10.0, TimeUnit.Week, TimeUnit.Year, 0.1917808219178082]; + + yield return [10.0, TimeUnit.Year, TimeUnit.Year, 10.0]; + yield return [10.0, TimeUnit.Year, TimeUnit.Second, 315360000.0]; + yield return [10.0, TimeUnit.Year, TimeUnit.Nanosecond, 315360000000000000.0]; + yield return [10.0, TimeUnit.Year, TimeUnit.Microsecond, 315360000000000.0]; + yield return [10.0, TimeUnit.Year, TimeUnit.Millisecond, 315360000000.0]; + yield return [10.0, TimeUnit.Year, TimeUnit.Minute, 5256000.0]; + yield return [10.0, TimeUnit.Year, TimeUnit.Hour, 87600.0]; + yield return [10.0, TimeUnit.Year, TimeUnit.Day, 3650.0]; } [Test] diff --git a/xFunc.Tests/Expressions/Units/VolumeUnits/VolumeValueTest.cs b/xFunc.Tests/Expressions/Units/VolumeUnits/VolumeValueTest.cs index 6e6533144..0fc7c9623 100644 --- a/xFunc.Tests/Expressions/Units/VolumeUnits/VolumeValueTest.cs +++ b/xFunc.Tests/Expressions/Units/VolumeUnits/VolumeValueTest.cs @@ -188,61 +188,61 @@ public void SubOperatorTest() public static IEnumerable GetConversionTestCases() { - yield return new object[] { 10.0, VolumeUnit.Meter, VolumeUnit.Meter, 10.0 }; - yield return new object[] { 10.0, VolumeUnit.Meter, VolumeUnit.Centimeter, 10000000.0 }; - yield return new object[] { 10.0, VolumeUnit.Meter, VolumeUnit.Liter, 10000.0 }; - yield return new object[] { 10.0, VolumeUnit.Meter, VolumeUnit.Inch, 610236.10035 }; - yield return new object[] { 10.0, VolumeUnit.Meter, VolumeUnit.Foot, 353.14666721 }; - yield return new object[] { 10.0, VolumeUnit.Meter, VolumeUnit.Yard, 13.079506193 }; - yield return new object[] { 10.0, VolumeUnit.Meter, VolumeUnit.Gallon, 2641.7205124 }; - - yield return new object[] { 10.0, VolumeUnit.Centimeter, VolumeUnit.Centimeter, 10.0 }; - yield return new object[] { 10.0, VolumeUnit.Centimeter, VolumeUnit.Meter, 0.00001 }; - yield return new object[] { 10.0, VolumeUnit.Centimeter, VolumeUnit.Liter, 0.01 }; - yield return new object[] { 10.0, VolumeUnit.Centimeter, VolumeUnit.Inch, 0.6102374409 }; - yield return new object[] { 10.0, VolumeUnit.Centimeter, VolumeUnit.Foot, 0.0003531467 }; - yield return new object[] { 10.0, VolumeUnit.Centimeter, VolumeUnit.Yard, 0.0000130795 }; - yield return new object[] { 10.0, VolumeUnit.Centimeter, VolumeUnit.Gallon, 0.0026417205 }; - - yield return new object[] { 10.0, VolumeUnit.Liter, VolumeUnit.Liter, 10.0 }; - yield return new object[] { 10.0, VolumeUnit.Liter, VolumeUnit.Meter, 0.01 }; - yield return new object[] { 10.0, VolumeUnit.Liter, VolumeUnit.Centimeter, 10000.0 }; - yield return new object[] { 10.0, VolumeUnit.Liter, VolumeUnit.Inch, 610.2361 }; - yield return new object[] { 10.0, VolumeUnit.Liter, VolumeUnit.Foot, 0.3531466672 }; - yield return new object[] { 10.0, VolumeUnit.Liter, VolumeUnit.Yard, 0.0130795062 }; - yield return new object[] { 10.0, VolumeUnit.Liter, VolumeUnit.Gallon, 2.6417205236 }; - - yield return new object[] { 10.0, VolumeUnit.Inch, VolumeUnit.Inch, 10.0 }; - yield return new object[] { 10.0, VolumeUnit.Inch, VolumeUnit.Meter, 0.0001638706 }; - yield return new object[] { 10.0, VolumeUnit.Inch, VolumeUnit.Centimeter, 163.871 }; - yield return new object[] { 10.0, VolumeUnit.Inch, VolumeUnit.Liter, 0.16387064 }; - yield return new object[] { 10.0, VolumeUnit.Inch, VolumeUnit.Foot, 0.005787037 }; - yield return new object[] { 10.0, VolumeUnit.Inch, VolumeUnit.Yard, 0.0002143347 }; - yield return new object[] { 10.0, VolumeUnit.Inch, VolumeUnit.Gallon, 0.0432900433 }; - - yield return new object[] { 10.0, VolumeUnit.Foot, VolumeUnit.Foot, 10.0 }; - yield return new object[] { 10.0, VolumeUnit.Foot, VolumeUnit.Meter, 0.2831684659 }; - yield return new object[] { 10.0, VolumeUnit.Foot, VolumeUnit.Centimeter, 283168.466 }; - yield return new object[] { 10.0, VolumeUnit.Foot, VolumeUnit.Liter, 283.16846592 }; - yield return new object[] { 10.0, VolumeUnit.Foot, VolumeUnit.Inch, 17279.96204 }; - yield return new object[] { 10.0, VolumeUnit.Foot, VolumeUnit.Yard, 0.3703703704 }; - yield return new object[] { 10.0, VolumeUnit.Foot, VolumeUnit.Gallon, 74.805194805 }; - - yield return new object[] { 10.0, VolumeUnit.Yard, VolumeUnit.Yard, 10.0 }; - yield return new object[] { 10.0, VolumeUnit.Yard, VolumeUnit.Meter, 7.6455485798 }; - yield return new object[] { 10.0, VolumeUnit.Yard, VolumeUnit.Centimeter, 7645548.58 }; - yield return new object[] { 10.0, VolumeUnit.Yard, VolumeUnit.Liter, 7645.5485798 }; - yield return new object[] { 10.0, VolumeUnit.Yard, VolumeUnit.Inch, 466558.97505 }; - yield return new object[] { 10.0, VolumeUnit.Yard, VolumeUnit.Foot, 270.0 }; - yield return new object[] { 10.0, VolumeUnit.Yard, VolumeUnit.Gallon, 2019.74025 }; - - yield return new object[] { 10.0, VolumeUnit.Gallon, VolumeUnit.Gallon, 10.0 }; - yield return new object[] { 10.0, VolumeUnit.Gallon, VolumeUnit.Meter, 0.0378541178 }; - yield return new object[] { 10.0, VolumeUnit.Gallon, VolumeUnit.Centimeter, 37854.118 }; - yield return new object[] { 10.0, VolumeUnit.Gallon, VolumeUnit.Liter, 37.85411784 }; - yield return new object[] { 10.0, VolumeUnit.Gallon, VolumeUnit.Inch, 2309.99494 }; - yield return new object[] { 10.0, VolumeUnit.Gallon, VolumeUnit.Foot, 1.3368055556 }; - yield return new object[] { 10.0, VolumeUnit.Gallon, VolumeUnit.Yard, 0.0495113169 }; + yield return [10.0, VolumeUnit.Meter, VolumeUnit.Meter, 10.0]; + yield return [10.0, VolumeUnit.Meter, VolumeUnit.Centimeter, 10000000.0]; + yield return [10.0, VolumeUnit.Meter, VolumeUnit.Liter, 10000.0]; + yield return [10.0, VolumeUnit.Meter, VolumeUnit.Inch, 610236.10035]; + yield return [10.0, VolumeUnit.Meter, VolumeUnit.Foot, 353.14666721]; + yield return [10.0, VolumeUnit.Meter, VolumeUnit.Yard, 13.079506193]; + yield return [10.0, VolumeUnit.Meter, VolumeUnit.Gallon, 2641.7205124]; + + yield return [10.0, VolumeUnit.Centimeter, VolumeUnit.Centimeter, 10.0]; + yield return [10.0, VolumeUnit.Centimeter, VolumeUnit.Meter, 0.00001]; + yield return [10.0, VolumeUnit.Centimeter, VolumeUnit.Liter, 0.01]; + yield return [10.0, VolumeUnit.Centimeter, VolumeUnit.Inch, 0.6102374409]; + yield return [10.0, VolumeUnit.Centimeter, VolumeUnit.Foot, 0.0003531467]; + yield return [10.0, VolumeUnit.Centimeter, VolumeUnit.Yard, 0.0000130795]; + yield return [10.0, VolumeUnit.Centimeter, VolumeUnit.Gallon, 0.0026417205]; + + yield return [10.0, VolumeUnit.Liter, VolumeUnit.Liter, 10.0]; + yield return [10.0, VolumeUnit.Liter, VolumeUnit.Meter, 0.01]; + yield return [10.0, VolumeUnit.Liter, VolumeUnit.Centimeter, 10000.0]; + yield return [10.0, VolumeUnit.Liter, VolumeUnit.Inch, 610.2361]; + yield return [10.0, VolumeUnit.Liter, VolumeUnit.Foot, 0.3531466672]; + yield return [10.0, VolumeUnit.Liter, VolumeUnit.Yard, 0.0130795062]; + yield return [10.0, VolumeUnit.Liter, VolumeUnit.Gallon, 2.6417205236]; + + yield return [10.0, VolumeUnit.Inch, VolumeUnit.Inch, 10.0]; + yield return [10.0, VolumeUnit.Inch, VolumeUnit.Meter, 0.0001638706]; + yield return [10.0, VolumeUnit.Inch, VolumeUnit.Centimeter, 163.871]; + yield return [10.0, VolumeUnit.Inch, VolumeUnit.Liter, 0.16387064]; + yield return [10.0, VolumeUnit.Inch, VolumeUnit.Foot, 0.005787037]; + yield return [10.0, VolumeUnit.Inch, VolumeUnit.Yard, 0.0002143347]; + yield return [10.0, VolumeUnit.Inch, VolumeUnit.Gallon, 0.0432900433]; + + yield return [10.0, VolumeUnit.Foot, VolumeUnit.Foot, 10.0]; + yield return [10.0, VolumeUnit.Foot, VolumeUnit.Meter, 0.2831684659]; + yield return [10.0, VolumeUnit.Foot, VolumeUnit.Centimeter, 283168.466]; + yield return [10.0, VolumeUnit.Foot, VolumeUnit.Liter, 283.16846592]; + yield return [10.0, VolumeUnit.Foot, VolumeUnit.Inch, 17279.96204]; + yield return [10.0, VolumeUnit.Foot, VolumeUnit.Yard, 0.3703703704]; + yield return [10.0, VolumeUnit.Foot, VolumeUnit.Gallon, 74.805194805]; + + yield return [10.0, VolumeUnit.Yard, VolumeUnit.Yard, 10.0]; + yield return [10.0, VolumeUnit.Yard, VolumeUnit.Meter, 7.6455485798]; + yield return [10.0, VolumeUnit.Yard, VolumeUnit.Centimeter, 7645548.58]; + yield return [10.0, VolumeUnit.Yard, VolumeUnit.Liter, 7645.5485798]; + yield return [10.0, VolumeUnit.Yard, VolumeUnit.Inch, 466558.97505]; + yield return [10.0, VolumeUnit.Yard, VolumeUnit.Foot, 270.0]; + yield return [10.0, VolumeUnit.Yard, VolumeUnit.Gallon, 2019.74025]; + + yield return [10.0, VolumeUnit.Gallon, VolumeUnit.Gallon, 10.0]; + yield return [10.0, VolumeUnit.Gallon, VolumeUnit.Meter, 0.0378541178]; + yield return [10.0, VolumeUnit.Gallon, VolumeUnit.Centimeter, 37854.118]; + yield return [10.0, VolumeUnit.Gallon, VolumeUnit.Liter, 37.85411784]; + yield return [10.0, VolumeUnit.Gallon, VolumeUnit.Inch, 2309.99494]; + yield return [10.0, VolumeUnit.Gallon, VolumeUnit.Foot, 1.3368055556]; + yield return [10.0, VolumeUnit.Gallon, VolumeUnit.Yard, 0.0495113169]; } [Test] diff --git a/xFunc.Tests/ParserTests/LambdaTests.cs b/xFunc.Tests/ParserTests/LambdaTests.cs index eab188c2c..a7ddcbfe9 100644 --- a/xFunc.Tests/ParserTests/LambdaTests.cs +++ b/xFunc.Tests/ParserTests/LambdaTests.cs @@ -140,8 +140,8 @@ public void ParseComplexCallExpression() public void ParseCurryFunction() { var expected = new Curry( - new Lambda(new[] { "a", "b" }, new Add(new Variable("a"), new Variable("b"))).AsExpression(), - new IExpression[] { Number.One }.ToImmutableArray()); + new Lambda(["a", "b"], new Add(new Variable("a"), new Variable("b"))).AsExpression(), + [Number.One]); ParseTest("curry((a, b) => a + b, 1)", expected); } diff --git a/xFunc.Tests/ParserTests/ParserTest.cs b/xFunc.Tests/ParserTests/ParserTest.cs index ea6c022fe..08433db6e 100644 --- a/xFunc.Tests/ParserTests/ParserTest.cs +++ b/xFunc.Tests/ParserTests/ParserTest.cs @@ -82,7 +82,7 @@ public void ParseCallExpression() Number.One, new CallExpression( new Variable("func"), - new IExpression[] { Variable.X }.ToImmutableArray()) + [Variable.X]) ); ParseTest("1 + func(x)", expected); diff --git a/xFunc.Tests/ProcessorTest.cs b/xFunc.Tests/ProcessorTest.cs index ff91ccd8c..76450808e 100644 --- a/xFunc.Tests/ProcessorTest.cs +++ b/xFunc.Tests/ProcessorTest.cs @@ -222,8 +222,8 @@ public void SolveMatrixTest() var result = processor.Solve("{{1, 2}, {2, 1}}"); var expected = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { NumberValue.One, NumberValue.Two }, - new NumberValue[] { NumberValue.Two, NumberValue.One }, + [NumberValue.One, NumberValue.Two], + [NumberValue.Two, NumberValue.One], }); Assert.That(result.Matrix, Is.EqualTo(expected)); diff --git a/xFunc.Tests/Results/MatrixResultTest.cs b/xFunc.Tests/Results/MatrixResultTest.cs index d8224ac47..0bea86a04 100644 --- a/xFunc.Tests/Results/MatrixResultTest.cs +++ b/xFunc.Tests/Results/MatrixResultTest.cs @@ -31,8 +31,8 @@ public void ToStringTest() { var matrixValue = MatrixValue.Create(new NumberValue[][] { - new NumberValue[] { NumberValue.One, NumberValue.Two }, - new NumberValue[] { NumberValue.Two, NumberValue.One }, + [NumberValue.One, NumberValue.Two], + [NumberValue.Two, NumberValue.One], }); var result = new Result.MatrixResult(matrixValue);