From cc56d6b8227b9756b97e423fa60935456760a8b5 Mon Sep 17 00:00:00 2001 From: izrik Date: Fri, 12 Nov 2021 14:50:52 -0600 Subject: [PATCH] Check for nulls. --- .../RandomExpressionT/ResultTest.cs | 5 ++++- .../VariableAccessT/ResultTest.cs | 21 ++++++++++++++++++- .../VectorExpressionT/ResultTest.cs | 2 ++ 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/MetaphysicsIndustries.Solus.Test/ExpressionsT/RandomExpressionT/ResultTest.cs b/MetaphysicsIndustries.Solus.Test/ExpressionsT/RandomExpressionT/ResultTest.cs index c4673878..b4b7f347 100644 --- a/MetaphysicsIndustries.Solus.Test/ExpressionsT/RandomExpressionT/ResultTest.cs +++ b/MetaphysicsIndustries.Solus.Test/ExpressionsT/RandomExpressionT/ResultTest.cs @@ -42,6 +42,9 @@ public void ResultIsScalar() Assert.IsFalse(result.IsMatrix(env)); Assert.AreEqual(0, result.GetTensorRank(env)); Assert.IsFalse(result.IsString(env)); + Assert.IsNull(result.GetDimension(env, 0)); + Assert.IsNull(result.GetDimensions(env)); + Assert.IsNull(result.GetVectorLength(env)); } } -} \ No newline at end of file +} diff --git a/MetaphysicsIndustries.Solus.Test/ExpressionsT/VariableAccessT/ResultTest.cs b/MetaphysicsIndustries.Solus.Test/ExpressionsT/VariableAccessT/ResultTest.cs index 86d5c7b7..663a6d35 100644 --- a/MetaphysicsIndustries.Solus.Test/ExpressionsT/VariableAccessT/ResultTest.cs +++ b/MetaphysicsIndustries.Solus.Test/ExpressionsT/VariableAccessT/ResultTest.cs @@ -108,5 +108,24 @@ public void ResultMatchesExpr3() Assert.AreEqual(0, result.GetTensorRank(env)); Assert.IsTrue(result.IsString(env)); } + + [Test] + public void MissingVariableYieldsNull() + { + // given + var expr = new VariableAccess("a"); + var env = new SolusEnvironment(); // no "a" + // when + var result = expr.Result; + // then + Assert.IsNull(result.IsScalar(env)); + Assert.IsNull(result.IsVector(env)); + Assert.IsNull(result.IsMatrix(env)); + Assert.IsNull(result.GetTensorRank(env)); + Assert.IsNull(result.IsString(env)); + Assert.IsNull(result.GetDimension(env, 0)); + Assert.IsNull(result.GetDimensions(env)); + Assert.IsNull(result.GetVectorLength(env)); + } } -} \ No newline at end of file +} diff --git a/MetaphysicsIndustries.Solus.Test/ExpressionsT/VectorExpressionT/ResultTest.cs b/MetaphysicsIndustries.Solus.Test/ExpressionsT/VectorExpressionT/ResultTest.cs index ed82b93c..20814e89 100644 --- a/MetaphysicsIndustries.Solus.Test/ExpressionsT/VectorExpressionT/ResultTest.cs +++ b/MetaphysicsIndustries.Solus.Test/ExpressionsT/VectorExpressionT/ResultTest.cs @@ -46,7 +46,9 @@ public void ResultIsVector() Assert.IsFalse(result.IsMatrix(env)); Assert.AreEqual(1, result.GetTensorRank(env)); Assert.IsFalse(result.IsString(env)); + Assert.IsNull(result.GetDimension(env, -1)); Assert.AreEqual(4, result.GetDimension(env, 0)); + Assert.IsNull(result.GetDimension(env, 1)); Assert.AreEqual(new int[] { 4 }, result.GetDimensions(env)); Assert.AreEqual(4, result.GetVectorLength(env));