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 f27bd91..c6dec8f 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 && Accepted.Variables != 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(); } }