diff --git a/tests/unit/screen_ui_test.cpp b/tests/unit/screen_ui_test.cpp
index dc6e6a8..06a98c7 100644
--- a/tests/unit/screen_ui_test.cpp
+++ b/tests/unit/screen_ui_test.cpp
@@ -69,6 +69,17 @@
   MockDrawFunctions draw_funcs_;
 };
 
+// TODO(xunchang) Create a constructor.
+static GRSurface CreateFakeGRSurface(int width, int height, int row_bytes, int pixel_bytes) {
+  GRSurface fake_surface;
+  fake_surface.width = width;
+  fake_surface.height = height;
+  fake_surface.row_bytes = row_bytes;
+  fake_surface.pixel_bytes = pixel_bytes;
+
+  return fake_surface;
+}
+
 TEST_F(ScreenUITest, StartPhoneMenuSmoke) {
   TextMenu menu(false, 10, 20, HEADERS, ITEMS, 0, 20, draw_funcs_);
   ASSERT_FALSE(menu.scrollable());
@@ -230,7 +241,7 @@
 }
 
 TEST_F(ScreenUITest, GraphicMenuSelection) {
-  GRSurface fake_surface = GRSurface{ 50, 50, 50, 1, nullptr };
+  auto fake_surface = CreateFakeGRSurface(50, 50, 50, 1);
   std::vector<GRSurface*> items = { &fake_surface, &fake_surface, &fake_surface };
   GraphicMenu menu(&fake_surface, items, 0, draw_funcs_);
 
@@ -252,13 +263,13 @@
 }
 
 TEST_F(ScreenUITest, GraphicMenuValidate) {
-  auto fake_surface = GRSurface{ 50, 50, 50, 1, nullptr };
+  auto fake_surface = CreateFakeGRSurface(50, 50, 50, 1);
   std::vector<GRSurface*> items = { &fake_surface, &fake_surface, &fake_surface };
 
   ASSERT_TRUE(GraphicMenu::Validate(200, 200, &fake_surface, items));
 
   // Menu exceeds the horizontal boundary.
-  auto wide_surface = GRSurface{ 300, 50, 300, 1, nullptr };
+  auto wide_surface = CreateFakeGRSurface(300, 50, 300, 1);
   ASSERT_FALSE(GraphicMenu::Validate(299, 200, &wide_surface, items));
 
   // Menu exceeds the vertical boundary.
