Added the skeleton for the flagging framework.

BUG=None
TEST=None

Change-Id: I72c37ac70ed2adca588ad9866a6bcc26775aed8b
Reviewed-on: https://gerrit-int.chromium.org/39096
Reviewed-by: Luis Lozano <llozano@chromium.org>
Tested-by: Yuheng Long <yuhenglong@google.com>
Commit-Queue: Yuheng Long <yuhenglong@google.com>
diff --git a/bestflags/generation_test.py b/bestflags/generation_test.py
new file mode 100644
index 0000000..d97f51b
--- /dev/null
+++ b/bestflags/generation_test.py
@@ -0,0 +1,41 @@
+"""Generation unittest."""
+
+__author__ = 'yuhenglong@google.com (Yuheng Long)'
+
+import unittest
+
+import generation
+
+
+class GenerationTest(unittest.TestCase):
+  """This class test the Generation class.
+
+  A generation class should not produce a task that has been generated before.
+  The task returned as the best task should really be the best.
+
+  Given two generations, if the second one has improved upon the first one,
+  the result method should return true and false otherwise.
+  """
+
+  def setUp(self):
+    pass
+
+  def testNext(self):
+    """"Test the next method.
+
+    Call the next method n times and all the tasks in each generation should be
+    unique.
+    """
+    pass
+
+  def testImprove(self):
+    """"Test the improve method.
+
+    If the successor generation has improvement upon the parent generation, the
+    result from the improve method should indicate so.
+    """
+
+    pass
+
+if __name__ == '__main__':
+  unittest.main()