Index: trunk/tests/test_loader.py
===================================================================
--- trunk/tests/test_loader.py	(revision 20)
+++ trunk/tests/test_loader.py	(revision 23)
@@ -136,4 +136,9 @@
 """
 
+MUTABLE_KEY = """
+? []
+: []
+"""
+
 class TestDocuments(test_parser.TestDocuments):
 
@@ -181,12 +186,11 @@
 
     def _testFileValues(self, (source, structure)):
-        filename = os.tempnam('/tmp', '_syck_test_')
-        file(filename, 'wb').write(source)
-        try:
-            self.assertEqualStructure(syck.parse(file(filename)), structure)
-            self.assertEqual(syck.load(file(filename)), structure)
-        except:
-            os.remove(filename)
-            raise
+        tempfile = os.tmpfile()
+        tempfile.write(source)
+        tempfile.seek(0)
+        self.assertEqualStructure(syck.parse(tempfile), structure)
+        tempfile.seek(0)
+        self.assertEqual(syck.load(tempfile), structure)
+        tempfile.seek(0)
 
 class TestImplicitScalars(unittest.TestCase):
@@ -202,13 +206,13 @@
 
     def testFloat(self):
-        self.assertAlmostEqual(syck.load('6.8523015e+5'), 685230.15)
+        self.assertEqual(syck.load('6.8523015e+5'), 685230.15)
         # Syck does not understand '_'.
         #self.assertAlmostEqual(syck.load('685.230_15e+03'), 685230.15)
         #self.assertAlmostEqual(syck.load('685_230.15'), 685230.15)
-        self.assertAlmostEqual(syck.load('685.23015e+03'), 685230.15)
-        self.assertAlmostEqual(syck.load('685230.15'), 685230.15)
-        self.assertAlmostEqual(syck.load('190:20:30.15'), 685230.15)
-        self.assertEqual(syck.load('-.inf'), -INF)
-        self.assertEqual(syck.load('.nan'), NAN)
+        self.assertEqual(syck.load('685.23015e+03'), 685230.15)
+        self.assertEqual(syck.load('685230.15'), 685230.15)
+        self.assertEqual(syck.load('190:20:30.15'), 685230.15)
+        self.assertEqual(repr(syck.load('-.inf')), repr(-INF))
+        self.assertEqual(repr(syck.load('.nan')), repr(NAN))
 
     def testInteger(self):
@@ -268,7 +272,4 @@
         node = syck.parse(ALIASES)
         values = node.value.values()
-        print values
-        print id(values[0])
-        print id(values[1])
         self.assert_(values[0] is values[1])
 
@@ -277,2 +278,11 @@
         self.assert_(document['foo'] is document['bar'])
 
+class TestMutableKey(unittest.TestCase):
+
+    def testMutableKey(self):
+        document = syck.load(MUTABLE_KEY)
+        self.assertEqual(type(document), list)
+        self.assertEqual(len(document), 1)
+        self.assertEqual(type(document[0]), tuple)
+        self.assertEqual(len(document[0]), 2)
+        self.assertEqual(document[0][0], document[0][1])
