How Do I Get a Material to Assign to All Faces? So first of all this question likely suffers from the same problem as this question. I say likely, because I was never able to make the answers for that question work, so I can't be sure exactly what is going on. I AM fairly certain that I simply don't know some crucial part of applying materials, and that is causing this problem. 

The problem is that if I try to apply a material to an object, the material is only applied to some faces. In the linked question, I tried to apply a material and a texture to a roof structure, so I decided to scale things down and practice on a cube. Same problem. 

I created a simple green material, but it only applied to two out of six faces. Selecting the whole cube and clicking assign again has no effect. The rest of the cube is black. 

Quite simply, I don't know why this is happening. Based on my understanding of materials, when you select a face and hit assign, the material is assigned to that face. Either this isn't happening, or it just isn't showing up. Why is this? What am I missing? 

If possible, I would like an explanation of how the material works, not just a simple 'click this then that' answer. 

Blender file 

NOTE: I apologize if this seems too much like a duplicate of the linked question. I'm asking again because the answers supplied never fixed the problem for me, and because I wanted to remove all other factors and work with a simple cube for reference.
The material is assigned to all the faces. The black you're seeing is the faces that aren't exposed to the light. If you were to move the lamp in your scen around you would see you have applied the material to the whole cube. My suggestion would be to use a Hemi light in Material mode, since it is an even lighting, or no light at all in Textured mode.