From 25bce254ea1599c83946105f69fb9282cf5ffa27 Mon Sep 17 00:00:00 2001 From: Andrew Paroz Date: Mon, 13 Apr 2026 10:25:31 +1000 Subject: [PATCH 1/2] Add in accepted variables even if not in current --- .../Comparison/TableComparison.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/APSIM.POStats.Shared/Comparison/TableComparison.cs b/APSIM.POStats.Shared/Comparison/TableComparison.cs index f27bd91..4baec97 100644 --- a/APSIM.POStats.Shared/Comparison/TableComparison.cs +++ b/APSIM.POStats.Shared/Comparison/TableComparison.cs @@ -69,15 +69,15 @@ private List GetVariables() matchingAcceptedVariables.Add(acceptedVariable); variables.Add(new VariableComparison(currentVariable, acceptedVariable)); } - - // Add in variables that are in the accepted table but not in the current table. - if (Accepted != null) - { - var variablesNotInCurrent = Accepted.Variables.Except(matchingAcceptedVariables); - foreach (var acceptedTable in variablesNotInCurrent) - variables.Add(new VariableComparison(null, acceptedTable)); - } } + // Add in variables that are in the accepted table but not in the current table. + if (Accepted != null) + { + var variablesNotInCurrent = Accepted.Variables.Except(matchingAcceptedVariables); + foreach (var acceptedTable in variablesNotInCurrent) + variables.Add(new VariableComparison(null, acceptedTable)); + } + return variables.OrderBy(v => v.Name).ToList(); } } From 5c7c6e82e812b3f66b4ddd7b27a5443884115ac1 Mon Sep 17 00:00:00 2001 From: Andrew Paroz Date: Mon, 13 Apr 2026 10:35:07 +1000 Subject: [PATCH 2/2] Check nulls --- .../Comparison/ApsimFileComparison.cs | 14 +++++++------- APSIM.POStats.Shared/Comparison/TableComparison.cs | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/APSIM.POStats.Shared/Comparison/ApsimFileComparison.cs b/APSIM.POStats.Shared/Comparison/ApsimFileComparison.cs index 283dd4f..889d07c 100644 --- a/APSIM.POStats.Shared/Comparison/ApsimFileComparison.cs +++ b/APSIM.POStats.Shared/Comparison/ApsimFileComparison.cs @@ -80,14 +80,14 @@ private List GetTables() var acceptedTable = Accepted?.Tables.Find(t => t.Name == currentTable.Name); tables.Add(new TableComparison(currentTable, acceptedTable)); } + } - // Add in tables that are in the accepted file but not in the current file. - if (Accepted != null) - { - var tablesNotInCurrent = Accepted.Tables.Except(tables.Select(t => t.Accepted)); - foreach (var acceptedTable in tablesNotInCurrent) - tables.Add(new TableComparison(null, acceptedTable)); - } + // Add in tables that are in the accepted file but not in the current file. + if (Accepted != null && Accepted.Tables != null) + { + var tablesNotInCurrent = Accepted.Tables.Except(tables.Select(t => t.Accepted)); + foreach (var acceptedTable in tablesNotInCurrent) + tables.Add(new TableComparison(null, acceptedTable)); } return tables.OrderBy(t => t.Name).ToList(); diff --git a/APSIM.POStats.Shared/Comparison/TableComparison.cs b/APSIM.POStats.Shared/Comparison/TableComparison.cs index 4baec97..c6dec8f 100644 --- a/APSIM.POStats.Shared/Comparison/TableComparison.cs +++ b/APSIM.POStats.Shared/Comparison/TableComparison.cs @@ -71,7 +71,7 @@ private List GetVariables() } } // Add in variables that are in the accepted table but not in the current table. - if (Accepted != null) + if (Accepted != null && Accepted.Variables != null) { var variablesNotInCurrent = Accepted.Variables.Except(matchingAcceptedVariables); foreach (var acceptedTable in variablesNotInCurrent)