private void SetUpWithElements(double objectSpacing, params IMenuObject[] elements) { var profile = new LineProfile(); profile.AddRange(elements.Select(e => new Mock <IObjectProfile>().Object)); var menuHandlerMock = new Mock <IMenuHandler>(); var layoutSettings = new LayoutSettings() { lineSpacing = 5, objectSpacing = objectSpacing }; menuHandlerMock.Setup(mh => mh.Layout).Returns(layoutSettings); menuHandlerMock.Setup(mh => mh.CreateRegion(It.IsAny <IObjectProfile>())) .Returns(new Func <IObjectProfile, IMenuRegion>(p => elements[profile.IndexOf(p)])); this.alignedBlockUnderTest.Prepare(profile, menuHandlerMock.Object); }