Skip to content

Commit

Permalink
Fixed some tests that was failing and code generator issues
Browse files Browse the repository at this point in the history
  • Loading branch information
kris701 committed May 13, 2024
1 parent c07fcc8 commit 4ce5af9
Show file tree
Hide file tree
Showing 18 changed files with 77 additions and 54 deletions.
1 change: 0 additions & 1 deletion ASTGenerators/PDDL/PDDLASTGenerator.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using PDDLSharp.ErrorListeners;
using PDDLSharp.Models.AST;
using PDDLSharp.Tools;
using System.Text;

namespace PDDLSharp.ASTGenerators.PDDL
Expand Down
5 changes: 5 additions & 0 deletions CodeGenerators/PDDL/Visitors/DomainVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ public string Visit(DomainDecl node, int indent)
if (node.Actions != null)
foreach (var act in node.Actions)
retStr.AppendLine(Visit(act, indent + 1));
if (node.Deriveds != null)
foreach (var act in node.Deriveds)
retStr.AppendLine(Visit(act, indent + 1));
if (node.Axioms != null)
foreach (var axi in node.Axioms)
retStr.AppendLine(Visit(axi, indent + 1));
Expand Down Expand Up @@ -97,7 +100,9 @@ public string Visit(DerivedDecl node, int indent)
if (node.IsHidden)
return "";
var retStr = new StringBuilder($"{IndentStr(indent)}(:derived{Environment.NewLine}");
PrintTypes(true);
retStr.AppendLine($"{IndentStr(indent + 1)}{Visit(node.Predicate, indent + 2)}");
PrintTypes(false);
retStr.AppendLine($"{IndentStr(indent + 1)}{Visit((dynamic)node.Expression, indent + 2)}");
retStr.AppendLine($"{IndentStr(indent)})");
return retStr.ToString();
Expand Down
37 changes: 16 additions & 21 deletions Models/PDDL/Expressions/TypeExp.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,58 +12,46 @@ public class TypeExp : BaseNamedNode, IExp

public TypeExp(ASTNode node, INode? parent, string name, string superType, HashSet<string> altTypes) : base(node, parent, name)
{
SuperType = superType;
if (SuperType == "")
SuperType = "object";
SuperType = EnsureObjectType(superType);
SuperTypes = new HashSet<string>();
foreach (var type in altTypes)
SuperTypes.Add(type);
SuperTypes.Add(EnsureObjectType(type));
SuperTypes.Add(SuperType);
}

public TypeExp(INode? parent, string name, string superType, HashSet<string> altTypes) : base(parent, name)
{
SuperType = superType;
if (SuperType == "")
SuperType = "object";
SuperType = EnsureObjectType(superType);
SuperTypes = new HashSet<string>();
foreach (var type in altTypes)
SuperTypes.Add(type);
SuperTypes.Add(EnsureObjectType(type));
SuperTypes.Add(SuperType);
}

public TypeExp(string name, string superType, HashSet<string> altTypes) : base(name)
{
SuperType = superType;
if (SuperType == "")
SuperType = "object";
SuperType = EnsureObjectType(superType);
SuperTypes = new HashSet<string>();
foreach (var type in altTypes)
SuperTypes.Add(type);
SuperTypes.Add(EnsureObjectType(type));
SuperTypes.Add(SuperType);
}

public TypeExp(ASTNode node, INode? parent, string name, string superType) : base(node, parent, name)
{
SuperType = superType;
if (SuperType == "")
SuperType = "object";
SuperType = EnsureObjectType(superType);
SuperTypes = new HashSet<string>() { SuperType };
}

public TypeExp(INode? parent, string name, string superType) : base(parent, name)
{
SuperType = superType;
if (SuperType == "")
SuperType = "object";
SuperType = EnsureObjectType(superType);
SuperTypes = new HashSet<string>() { SuperType };
}

public TypeExp(string name, string superType) : base(name)
{
SuperType = superType;
if (SuperType == "")
SuperType = "object";
SuperType = EnsureObjectType(superType);
SuperTypes = new HashSet<string>() { SuperType };
}

Expand Down Expand Up @@ -94,6 +82,13 @@ public bool IsTypeOf(string typeName)
return SuperTypes.Any(x => x == typeName);
}

private string EnsureObjectType(string type)
{
if (type == "")
return "object";
return type;
}

public override bool Equals(object? obj)
{
if (obj is TypeExp other)
Expand Down
2 changes: 1 addition & 1 deletion PDDLSharp/PDDLSharp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

<PropertyGroup>
<PackageLicenseFile>LICENSE.txt</PackageLicenseFile>
<Version>1.6.2</Version>
<Version>1.6.3</Version>
</PropertyGroup>

<PropertyGroup>
Expand Down
2 changes: 0 additions & 2 deletions Parsers/PDDL/Visitors/ProblemVisitor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,7 @@ public partial class ParserVisitor
{
var newInit = new InitDecl(node, parent, new List<IExp>());
var preds = ParseAsList<IExp>(node, newInit, false);
var nums = ParseAsList<NumericExp>(node, newInit, false);
newInit.Predicates.AddRange(preds);
newInit.Predicates.AddRange(nums);
return newInit;
}
return null;
Expand Down
5 changes: 0 additions & 5 deletions PerformanceChecker/Program.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@
using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Running;
using PDDLSharp.CodeGenerators.PDDL;
using PDDLSharp.ErrorListeners;
using PDDLSharp.Models.PDDL.Domain;
using PDDLSharp.Models.PDDL.Problem;
using PDDLSharp.Parsers.PDDL;
using System.Text;
using ToMarkdown;

Expand Down
4 changes: 2 additions & 2 deletions Tests/ASTGenerators.Tests/ASTGenerators.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
4 changes: 2 additions & 2 deletions Tests/Analysers.Tests/Analysers.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
4 changes: 2 additions & 2 deletions Tests/CodeGenerators.Tests/CodeGenerators.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
30 changes: 29 additions & 1 deletion Tests/CodeGenerators.Tests/PDDL/ComplexPDDLCodeGeneratorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,24 @@ public void Can_Parse_Generate_Parse_Domain(string domain)
var newDomainDecl = parser.ParseAs<DomainDecl>(new FileInfo("temp.pddl"));

// ASSERT
Assert.AreEqual(initialDecl.Name, newDomainDecl.Name);
Assert.AreEqual(initialDecl.Requirements, newDomainDecl.Requirements);
Assert.AreEqual(initialDecl.Types, newDomainDecl.Types);
Assert.AreEqual(initialDecl.Predicates, newDomainDecl.Predicates);
Assert.AreEqual(initialDecl.Actions.Count, newDomainDecl.Actions.Count);
for (int i = 0; i < initialDecl.Actions.Count; i++)
Assert.AreEqual(initialDecl.Actions[i], newDomainDecl.Actions[i]);
Assert.AreEqual(initialDecl.DurativeActions.Count, newDomainDecl.DurativeActions.Count);
for (int i = 0; i < initialDecl.DurativeActions.Count; i++)
Assert.AreEqual(initialDecl.DurativeActions[i], newDomainDecl.DurativeActions[i]);
Assert.AreEqual(initialDecl.Deriveds.Count, newDomainDecl.Deriveds.Count);
for (int i = 0; i < initialDecl.Deriveds.Count; i++)
Assert.AreEqual(initialDecl.Deriveds[i], newDomainDecl.Deriveds[i]);
Assert.AreEqual(initialDecl.Axioms.Count, newDomainDecl.Axioms.Count);
for (int i = 0; i < initialDecl.Axioms.Count; i++)
Assert.AreEqual(initialDecl.Axioms[i], newDomainDecl.Axioms[i]);

Assert.AreEqual(initialDecl, newDomainDecl);
Assert.IsFalse(listener.Errors.Any(x => x.Type == ParseErrorType.Error));
}

Expand All @@ -58,9 +76,19 @@ public void Can_Parse_Generate_Parse_Problem(string problem)

// ACT
generator.Generate(initialDecl, "temp.pddl");
var newDomainDecl = parser.ParseAs<ProblemDecl>(new FileInfo("temp.pddl"));
var newProblemDecl = parser.ParseAs<ProblemDecl>(new FileInfo("temp.pddl"));

// ASSERT
Assert.AreEqual(initialDecl.Name, newProblemDecl.Name);
Assert.AreEqual(initialDecl.DomainName, newProblemDecl.DomainName);
Assert.AreEqual(initialDecl.Requirements, newProblemDecl.Requirements);
Assert.AreEqual(initialDecl.Situation, newProblemDecl.Situation);
Assert.AreEqual(initialDecl.Objects, newProblemDecl.Objects);
Assert.AreEqual(initialDecl.Init, newProblemDecl.Init);
Assert.AreEqual(initialDecl.Goal, newProblemDecl.Goal);
Assert.AreEqual(initialDecl.Metric, newProblemDecl.Metric);

Assert.AreEqual(initialDecl, newProblemDecl);
Assert.IsFalse(listener.Errors.Any(x => x.Type == ParseErrorType.Error));
}
}
Expand Down
4 changes: 2 additions & 2 deletions Tests/Contextualisers.Tests/Contextualisers.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
4 changes: 2 additions & 2 deletions Tests/ErrorListeners.Tests/ErrorListeners.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
4 changes: 2 additions & 2 deletions Tests/Models.Tests/Models.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
2 changes: 1 addition & 1 deletion Tests/Parsers.Tests/PDDL/Visitors/DomainVisitorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ public void Can_ParseTypesNode_CorrectInheritTypeNames(string toParse, params st
[DataRow("(:types a - b \n b - object)", "b;object;", "object;")]
[DataRow("(:types a - object \n b - a)", "object;", "a;object;")]
[DataRow("(:types a - object \n b c - a)", "object;", "a;object;", "a;object;")]
[DataRow("(:types a - object \n b c - a \n q)", "object;", "a;object;", "a;object;", ";object;")]
[DataRow("(:types a - object \n b c - a \n q)", "object;", "a;object;", "a;object;", "object;")]
[DataRow("(:types a - object \n b c - a \n q \n d - c)", "object;", "a;object;", "a;object;", "c;a;object;", "c;a;object;")]
public void Can_ParseTypesNode_CorrectInheritSuperTypes(string toParse, params string[] expected)
{
Expand Down
4 changes: 2 additions & 2 deletions Tests/Parsers.Tests/Parsers.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
11 changes: 7 additions & 4 deletions Tests/Toolkits.Tests/Toolkits.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,13 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.1.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.1.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
</ItemGroup>

<ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions Tests/Tools.Tests/Tools.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down
4 changes: 2 additions & 2 deletions Tests/Translators.Tests/Translators.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.2.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.2.2" />
<PackageReference Include="MSTest.TestAdapter" Version="3.3.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.3.1" />
<PackageReference Include="coverlet.collector" Version="6.0.2">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Expand Down

0 comments on commit 4ce5af9

Please sign in to comment.