Index: tools/typemapgenerator/mpigenerator.rb
===================================================================
--- tools/typemapgenerator/mpigenerator.rb (revision 179:9984c20cf0f7)
+++ tools/typemapgenerator/mpigenerator.rb (revision 180:ca80a1c7f2ed)
@@ -58,5 +58,5 @@
     end
     member_specs = member_specs1 + member_specs2
-    ret.sub!(/ *MEMBERSPECS/, member_specs.join(",\n"))
+    ret.sub!(/ *MEMBERSPECS/, member_specs.sort.join(",\n"))
   end
 
Index: tools/typemapgenerator/mpiparser.rb
===================================================================
--- tools/typemapgenerator/mpiparser.rb (revision 92:7140d931f0e2)
+++ tools/typemapgenerator/mpiparser.rb (revision 180:ca80a1c7f2ed)
@@ -64,5 +64,5 @@
   # it'll try to create a new MPI type map specification.
   def resolve_forest(classes)
-    classes = classes.dup
+    classes = classes.sort
     resolved_classes = { }
     resolved_parents = { }
@@ -128,5 +128,5 @@
     end
 
-    return params.uniq
+    return params.sort.uniq
   end
 
Index: tools/typemapgenerator/test/fixtures/references/generatemapengine.cpp
===================================================================
--- tools/typemapgenerator/test/fixtures/references/generatemapengine.cpp (revision 0:7a658e7d0d51)
+++ tools/typemapgenerator/test/fixtures/references/generatemapengine.cpp (revision 180:ca80a1c7f2ed)
@@ -9,7 +9,7 @@
     // sort addresses in ascending order
     MemberSpec rawSpecs[] = {
+        MemberSpec(MPI::Get_address(&obj->capacity), MPI::DOUBLE, 1),
         MemberSpec(MPI::Get_address(&obj->fuel), MPI::INT, 1),
-        MemberSpec(MPI::Get_address(&obj->gearRatios), MPI::DOUBLE, 6),
-        MemberSpec(MPI::Get_address(&obj->capacity), MPI::DOUBLE, 1)
+        MemberSpec(MPI::Get_address(&obj->gearRatios), MPI::DOUBLE, 6)
     };
     std::sort(rawSpecs, rawSpecs + count, addressLower);
Index: tools/typemapgenerator/test/fixtures/references/typemaps.cpp
===================================================================
--- tools/typemapgenerator/test/fixtures/references/typemaps.cpp (revision 0:7a658e7d0d51)
+++ tools/typemapgenerator/test/fixtures/references/typemaps.cpp (revision 180:ca80a1c7f2ed)
@@ -3,6 +3,6 @@
 
 namespace MPI \{
+    Datatype RIM;
     Datatype TIRE;
-    Datatype RIM;
     Datatype WHEEL;
 \}
@@ -28,9 +28,9 @@
 
 MPI\:\:Datatype
-Typemaps\:\:generateMapTire\(\) \{.*
+Typemaps\:\:generateMapRim\(\) \{.*
 \}
 
 MPI\:\:Datatype
-Typemaps\:\:generateMapRim\(\) \{.*
+Typemaps\:\:generateMapTire\(\) \{.*
 \}
 
@@ -41,6 +41,6 @@
 void Typemaps\:\:initializeMaps\(\)
 \{
+    MPI\:\:RIM = generateMapRim\(\);
     MPI\:\:TIRE = generateMapTire\(\);
-    MPI\:\:RIM = generateMapRim\(\);
     MPI\:\:WHEEL = generateMapWheel\(\);
 \}
Index: tools/typemapgenerator/test/fixtures/references/typemaps.h
===================================================================
--- tools/typemapgenerator/test/fixtures/references/typemaps.h (revision 0:7a658e7d0d51)
+++ tools/typemapgenerator/test/fixtures/references/typemaps.h (revision 180:ca80a1c7f2ed)
@@ -4,11 +4,11 @@
 #include <complex>
 #include <mpi.h>
-#include "/home/gentryx/typemapgenerator/trunk/test/fixtures/src/tire.h"
-#include "/home/gentryx/typemapgenerator/trunk/test/fixtures/src/rim.h"
-#include "/home/gentryx/typemapgenerator/trunk/test/fixtures/src/wheel.h"
+#include <rim.h>
+#include <tire.h>
+#include <wheel.h>
 
 namespace MPI {
+    extern Datatype RIM;
     extern Datatype TIRE;
-    extern Datatype RIM;
     extern Datatype WHEEL;
 }
@@ -24,6 +24,6 @@
 
 private:
+    static MPI::Datatype generateMapRim();
     static MPI::Datatype generateMapTire();
-    static MPI::Datatype generateMapRim();
     static MPI::Datatype generateMapWheel();
 
@@ -47,6 +47,6 @@
     static inline MPI::Datatype lookup(unsigned short*) { return MPI::UNSIGNED_SHORT; }
     static inline MPI::Datatype lookup(wchar_t*) { return MPI::WCHAR; }
+    static inline MPI::Datatype lookup(Rim*) { return MPI::RIM; }
     static inline MPI::Datatype lookup(Tire*) { return MPI::TIRE; }
-    static inline MPI::Datatype lookup(Rim*) { return MPI::RIM; }
     static inline MPI::Datatype lookup(Wheel*) { return MPI::WHEEL; }
 };
Index: tools/typemapgenerator/test/unit/mpigeneratortest.rb
===================================================================
--- tools/typemapgenerator/test/unit/mpigeneratortest.rb (revision 0:7a658e7d0d51)
+++ tools/typemapgenerator/test/unit/mpigeneratortest.rb (revision 180:ca80a1c7f2ed)
@@ -46,6 +46,7 @@
                                                @headers)
     # avoid comparing absolute pathnames (beneficial as the tests have to run in various locations)
-    expected_header.gsub!(/(#include ").*\/(\w+\.h")/) { |m| $1+$2 }
-    actual_header.gsub!(  /(#include ").*\/(\w+\.h")/) { |m| $1+$2 }
+    expected_header.gsub!(/(#include <).*\/(\w+\.h>)/) { |m| $1+$2 }
+    actual_header.gsub!(  /(#include <).*\/(\w+\.h>)/) { |m| $1+$2 }
+
     assert_equal(expected_header, actual_header)
   end
Index: tools/typemapgenerator/test/unit/mpiparsertest.rb
===================================================================
--- tools/typemapgenerator/test/unit/mpiparsertest.rb (revision 0:7a658e7d0d51)
+++ tools/typemapgenerator/test/unit/mpiparsertest.rb (revision 180:ca80a1c7f2ed)
@@ -146,6 +146,7 @@
 
   def test_used_template_parameters
-    expected = [["int", "int"], ["int", "double"], 
-                ["Coord<3 >", "Coord<2 >"]]
+    expected = [["Coord<3 >", "Coord<2 >"],
+                ["int", "double"],
+                ["int", "int"]]
     assert_equal(expected, @parser.used_template_parameters("CoordPair"))
 
@@ -367,10 +368,10 @@
     }
 
-    expected_sortation = %w{Rim Engine Tire Wheel Car}
+    expected_sortation = %w{Engine Tire Rim Wheel Car}
 
     expected_headers = 
-      ["fixtures/src/rim.h",
-       "fixtures/src/engine.h",
+      ["fixtures/src/engine.h",
        "fixtures/src/tire.h",
+       "fixtures/src/rim.h",
        "fixtures/src/wheel.h",
        "fixtures/src/car.h"]
@@ -426,8 +427,6 @@
     resolved_classes = @parser.resolve_forest(classes)[0]
     
-
-    assert_equal(%w(wheels), 
-                 resolved_classes["Car"].keys)
-    assert_equal(%w(size spareWheel), resolved_classes["CarContainer"].keys)
+    assert_equal(%w(wheels), resolved_classes["Car"].keys)
+    assert_equal(%w(size spareWheel), resolved_classes["CarContainer"].keys.sort)
   end
 
