What I notice is that you only have 16 vertices available in your vertex buffer. To make a cube you need 24.
Each corner has 3 faces meeting all with different normal directions. Since you need a unique normal for each triangle then you need 3 vertices per corner. 3 x 8 = 24.