@@ -1983,6 +1983,40 @@ private static void compareCollections(String file1, SBOLDocument doc1, String f
19831983 }
19841984 }
19851985 }
1986+
1987+ private static void compareExperiments (String file1 , SBOLDocument doc1 , String file2 , SBOLDocument doc2 ) {
1988+ for (Experiment experiment1 : doc1 .getExperiments ()) {
1989+ Experiment experiment2 = doc2 .getExperiment (experiment1 .getIdentity ());
1990+ if (experiment2 == null ) {
1991+ errors .add ("Experiment " + experiment1 .getIdentity () + " not found in " + file2 );
1992+ } else if (!experiment1 .equals (experiment2 )) {
1993+ errors .add ("Experiment " + experiment1 .getIdentity () + " differ." );
1994+ }
1995+ }
1996+ for (Experiment experiment2 : doc2 .getExperiments ()) {
1997+ Experiment experiment1 = doc1 .getExperiment (experiment2 .getIdentity ());
1998+ if (experiment1 == null ) {
1999+ errors .add ("Experiment " + experiment2 .getIdentity () + " not found in " + file1 );
2000+ }
2001+ }
2002+ }
2003+
2004+ private static void compareExperimentalData (String file1 , SBOLDocument doc1 , String file2 , SBOLDocument doc2 ) {
2005+ for (ExperimentalData experimentalData1 : doc1 .getExperimentalData ()) {
2006+ ExperimentalData experimentalData2 = doc2 .getExperimentalData (experimentalData1 .getIdentity ());
2007+ if (experimentalData2 == null ) {
2008+ errors .add ("ExperimentalData " + experimentalData1 .getIdentity () + " not found in " + file2 );
2009+ } else if (!experimentalData1 .equals (experimentalData2 )) {
2010+ errors .add ("ExperimentalData " + experimentalData1 .getIdentity () + " differ." );
2011+ }
2012+ }
2013+ for (ExperimentalData experimentalData2 : doc2 .getExperimentalData ()) {
2014+ ExperimentalData experimentalData1 = doc1 .getExperimentalData (experimentalData2 .getIdentity ());
2015+ if (experimentalData1 == null ) {
2016+ errors .add ("ExperimentalData " + experimentalData2 .getIdentity () + " not found in " + file1 );
2017+ }
2018+ }
2019+ }
19862020
19872021 private static void compareMapsTos (String file1 , Component component1 , String file2 , Component component2 ) {
19882022 for (MapsTo mapsTo1 : component1 .getMapsTos ()) {
@@ -2505,6 +2539,8 @@ public static void compareDocuments(String file1, SBOLDocument doc1, String file
25052539 compareGenericTopLevels (file1 , doc1 , file2 , doc2 );
25062540 compareCombinatorialDerivations (file1 , doc1 , file2 , doc2 );
25072541 compareImplementations (file1 , doc1 , file2 , doc2 );
2542+ compareExperiments (file1 , doc1 , file2 , doc2 );
2543+ compareExperimentalData (file1 , doc1 , file2 , doc2 );
25082544 compareAttachments (file1 , doc1 , file2 , doc2 );
25092545 }
25102546
0 commit comments