Index: /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/Data/kra32.sln
===================================================================
--- /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/Data/kra32.sln	(revision 5948)
+++ /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/Data/kra32.sln	(revision 5949)
@@ -1,7 +1,6 @@
-32 88900 
-31 23 18 21 22 19 10 11 15 9 30 29 14 12 17 26 27 
-28 1 7 6 25 5 3 8 24 32 13 2 20 4 16
+32 88700 
+31,23,18,21,22,19,10,11,15,9,30,29,14,12,17,26,
+27,28,1,7,6,25,5,3,8,24,32,13,2,20,4,16
 
 
 
-
Index: /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/Data/ste36a.sln
===================================================================
--- /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/Data/ste36a.sln	(revision 5948)
+++ /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/Data/ste36a.sln	(revision 5949)
@@ -1,4 +1,4 @@
   36   9526
-  12  19  30  11 2 3 22 20 10  21  5  4 13 15 31 32 28 29 24 14 17 18 16 9
-  8 7 6 23 33 34 25 35 27 26 1 36
+  35,5,6,12,11,27,26,25,24,9,4,1,13,20,14,23,21,22,2,8,10,7,28,19,
+32,34,33,17,18,3,15,16,29,30,31,36
 
Index: /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/QuadraticAssignmentProblem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/QuadraticAssignmentProblem.cs	(revision 5948)
+++ /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/QuadraticAssignmentProblem.cs	(revision 5949)
@@ -337,4 +337,5 @@
           if (!solParser.Quality.IsAlmost(QAPEvaluator.Apply(new Permutation(PermutationTypes.Absolute, solParser.Assignment), Weights, Distances))) {
             solStream.Seek(0, SeekOrigin.Begin);
+            solParser.Reset();
             solParser.Parse(solStream, false); // some sln's seem to be of the type index = "location" => value = "facility"
             if (solParser.Error != null) throw solParser.Error;
@@ -343,5 +344,5 @@
               BestKnownSolution = new Permutation(PermutationTypes.Absolute, solParser.Assignment);
             } else {
-              BestKnownQuality = null;
+              BestKnownQuality = new DoubleValue(solParser.Quality);
               BestKnownSolution = null;
             }
Index: /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/Tests/QAPLIBInstancesTest.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/Tests/QAPLIBInstancesTest.cs	(revision 5948)
+++ /trunk/sources/HeuristicLab.Problems.QuadraticAssignment/3.3/Tests/QAPLIBInstancesTest.cs	(revision 5949)
@@ -21,4 +21,8 @@
 
 using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Reflection;
 using System.Text;
 using HeuristicLab.Common;
@@ -38,4 +42,22 @@
         } catch (Exception ex) {
           failedInstances.AppendLine(instance + ": " + ex.Message);
+        }
+      }
+      Assert.IsTrue(failedInstances.Length == 0, "Following instances failed to load: " + Environment.NewLine + failedInstances.ToString());
+    }
+
+    [TestMethod]
+    public void LoadAllEmbeddedSolutions() {
+      IEnumerable<string> solutionFiles = Assembly.GetAssembly(typeof(QuadraticAssignmentProblem))
+          .GetManifestResourceNames()
+          .Where(x => x.EndsWith(".sln"));
+      QAPLIBSolutionParser parser = new QAPLIBSolutionParser();
+      StringBuilder failedInstances = new StringBuilder();
+      foreach (string solution in solutionFiles) {
+        using (Stream stream = Assembly.GetAssembly(typeof(QuadraticAssignmentProblem)).GetManifestResourceStream(solution)) {
+          parser.Reset();
+          parser.Parse(stream, true);
+          if (parser.Error != null)
+            failedInstances.AppendLine(solution + ": " + parser.Error.Message);
         }
       }
@@ -63,4 +85,6 @@
             failedInstances.AppendLine(instance + ": Reported quality: " + qap.BestKnownQuality.Value.ToString() + ", evaluated fitness: " + quality.ToString() + ".");
           }
+        } else if (qap.BestKnownQuality != null) {
+          failedInstances.AppendLine(instance + ": The solution failed to load, only the quality value is available!");
         }
 
