public void Setup() { randomMock = new Mock <IRandomProvider>(); combatMock = new Mock <ICombatInstance>(); publisherMock = new Mock <IEventPublisher <EventType> >(); mapMock = new Mock <IMap>(); mapMock.Setup(f => f.Start).Returns(startPos); mapMock.Setup(f => f.Goal).Returns(goalPos); eventRecipientMock = new Mock <IEventRecipient <ICombatUpdateEvent> >(); combatFactoryMock = new Mock <ICombatInstanceFactory>(MockBehavior.Strict); combatFactoryMock.Setup(f => f.CreateInstance(It.IsAny <ICharacter[]>())).Returns(combatMock.Object); CombatManager.ClearInstance(); timeProviderMock = new Mock <ITimeProvider>(); gameManagerMock = new Mock <IGameManager>(); gameManagerMock.Setup(e => e.GridMap).Returns(mapMock.Object); SingletonProvider.MainRandomProvider = randomMock.Object; SingletonProvider.MainGameManager = gameManagerMock.Object; SingletonProvider.MainEventPublisher = publisherMock.Object; manager = new CombatManager(combatFactoryMock.Object); }