That is easy:
// arrange
var mocks = new Mockery();
var mockLevel3 = mocks.NewMock<ILevel3>();
// now do some actual mocking here
var level2 = new Level2(mockLevel3);
var level1 = new Level1(level2);
// now do some act and assert stuff
It is an integration test in my opinion. It does not matter at this point if all of the classes are in the same assembly. Integration tests are not necessarily about bringing together some assemblies in a test.