diff --git a/Lib/test/test_future3.py b/Lib/test/test_future3.py
index 8f8c274..ed23567 100644
--- a/Lib/test/test_future3.py
+++ b/Lib/test/test_future3.py
@@ -1,11 +1,30 @@
 from __future__ import nested_scopes
 from __future__ import division
-from __future__ import nested_scopes
 
-def f(x):
-    def g(y):
-        return y // x
-    return g
+import unittest
+from test import test_support
+
+x = 2
+def nester():
+    x = 3
+    def inner():
+        return x
+    return inner()
 
 
-print f(2)(5)
+class TestFuture(unittest.TestCase):
+
+    def test_floor_div_operator(self):
+        self.assertEqual(7 // 2, 3)
+
+    def test_true_div_as_default(self):
+        self.assertAlmostEqual(7 / 2, 3.5)
+
+    def test_nested_scopes(self):
+        self.assertEqual(nester(), 3)
+
+def test_main():
+    test_support.run_unittest(TestFuture)
+
+if __name__ == "__main__":
+    test_main()
