public void When_2_Colors_Are_Exact_Match_And_1_Color_Is_Matching_But_In_Wrong_Position_2_Black_And_1_White_Hints_Are_Displayed() { //Arrange var randomNumberGenerator = new Mock <INumberGenerator>(); var initialColorsProvider = new InitialColorsProvider(randomNumberGenerator.Object); var colors = System.Enum.GetValues(typeof(Colors)); randomNumberGenerator.SetupSequence(s => s.RandomNumber(0, colors.Length)).Returns(1).Returns(2).Returns(3) .Returns(4); var initialColors = initialColorsProvider.ProvideColors(); var userColors = new [] { "Red", "Blue", "Orange", "Purple" }; var hintsProvider = new HintsProvider(); //Act var hints = hintsProvider.GiveHints(userColors, initialColors); //Assert Assert.AreEqual("White", hints[0], "The first hint should be white"); Assert.AreEqual("Black", hints[1], "The second hint should be black"); Assert.AreEqual("Black", hints[2], "The third hint should be black"); }
public DomainFacade(IStorageProvider storageProvider, string baseUri, ILanguageContainerService languageContainerService) { _storageProvider = storageProvider; LanguageContainerService = languageContainerService; TryRestoreLanguageName(); _grid = new Grid(); _toolManager = new ToolManager(); _historyManager = new HistoryManager(); _hintsProvider = new HintsProvider(); _storageManager = new StorageManager(storageProvider); _shareManager = new ShareManager(baseUri); _pasteManager = new PasteManager(); _solver = new BruteForceSolver(); _gridGenerator = new PredefinedGridGenerator(); _colorManager = new ColorManager(); _gameTimerManager = new GameTimerManager(); _modalStateManager = new(); _modalStateManager.OnModalStateChanged += HandleModalStateChanged; SetModalState(ModalState.Loading); Load(); StartAutoSave(TimeSpan.FromSeconds(2)); }