[TestMethod]
public void TestCast()
{
Mock<VBProject> vbProject = new Mock<VBProject>();
vbProject.Setup(x => x.Name).Returns("projectName");
vbProject.Setup(x => x.Protection).Returns(vbext_ProjectProtection.vbext_pp_none);
var projectList = new VBProject[] {vbProject.Object, vbProject.Object};
// here is my workaround
VBProjects vbProjects = new VbProjectFake(projectList);
Mock<VBE> vbe = new Mock<VBE>();