public void Given_Survey_Exists_When_I_Call_GetSurveyInterviewType_Then_The_Correct_SurveyInterviewType_Is_Returned( string interviewType, SurveyInterviewType surveyInterviewType) { //arrange const string instrumentName = "Instrument1"; var surveyMock = new Mock <ISurvey>(); surveyMock.Setup(s => s.Name).Returns(instrumentName); var surveyItems = new List <ISurvey> { surveyMock.Object }; _surveyCollectionMock = new Mock <ISurveyCollection>(); _surveyCollectionMock.Setup(s => s.GetEnumerator()).Returns(() => surveyItems.GetEnumerator()); _serverParkMock.Setup(s => s.Surveys).Returns(_surveyCollectionMock.Object); var iConfigurationMock = new Mock <IConfiguration>(); iConfigurationMock.Setup(c => c.InitialLayoutSetGroupName).Returns(interviewType); iConfigurationMock.Setup(c => c.InstrumentName).Returns(instrumentName); var configurations = new List <IConfiguration> { iConfigurationMock.Object }; var machineConfigurationMock = new Mock <IMachineConfigurationCollection>(); machineConfigurationMock.Setup(m => m.Configurations).Returns(configurations); surveyMock.Setup(s => s.Configuration).Returns(machineConfigurationMock.Object); //act var result = _sut.GetSurveyInterviewType(_connectionModel, instrumentName, _serverParkName); //assert Assert.AreEqual(surveyInterviewType, result); }