public WordServiceTests()
        {
            _filenameHelper = Substitute.For <IFilenameHelper>();
            _filenameHelper.GetDictionaryFilename().Returns(Filename);

            _wordHelper           = Substitute.For <IWordHelper>();
            _wordExistenceHelper  = Substitute.For <IWordExistenceHelper>();
            _wordDefinitionHelper = Substitute.For <IWordDefinitionHelper>();
            _fileHelper           = Substitute.For <IFileHelper>();
        }
示例#2
0
        public static void CheckWords(IWordHelper helper, List <string> words)
        {
            words.ForEach(word1 => {
                IsAnagram(helper, word1, words);

                if (helper.IsPalindrome(word1) && Program.IsVerbose)
                {
                    Console.WriteLine($"{word1} is a palindrome");
                }
            });
        }
示例#3
0
 public static ITradicIterator GetInstance()
 {
     if (CurrentInstance == null)
     {
         CurrentInstance = new TradicIterator();
         TradicDataAccess access = TradicDataAccess.GetInstance();
         transHelper       = new TranslationHelper(access);
         wordHelper        = new WordHelper(access);
         languageHelper    = new LanguageHelper(access);
         descriptionHelper = new DescriptionHelper(access);
     }
     return(CurrentInstance);
 }
示例#4
0
 private static void IsAnagram(IWordHelper helper, string word1, List <string> words)
 {
     words.ForEach(word2 =>
     {
         if (word1 != word2)
         {
             if (helper.IsAnagram(word1, word2) && Program.IsVerbose)
             {
                 Console.WriteLine($"{word1} is an anagram of {word2}");
             }
         }
     });
 }
示例#5
0
        public AddNewWordToDictionaryTests()
        {
            _wordDefinitionHelper = Substitute.For <IWordDefinitionHelper>();
            _wordExistenceHelper  = Substitute.For <IWordExistenceHelper>();
            _wordHelper           = Substitute.For <IWordHelper>();
            _fileHelper           = new FileHelper();
            _filenameHelper       = Substitute.For <IFilenameHelper>();
            _filenameHelper.GetDictionaryFilename().Returns(Filename);
            _filenameHelper.GetGuessedWordsFilename().Returns(Filename);

            if (File.Exists(Filename))
            {
                File.Delete(Filename);
            }

            TestFileHelper.Create(Filename);
        }
示例#6
0
        public WordService(IWordExistenceHelper wordExistenceHelper, IWordHelper wordHelper, IWordDefinitionHelper wordDefinitionHelper, IFileHelper fileHelper, IFilenameHelper filenameHelper)
        {
            _wordExistenceHelper  = wordExistenceHelper;
            _wordHelper           = wordHelper;
            _wordDefinitionHelper = wordDefinitionHelper;
            _fileHelper           = fileHelper;
            _filenameHelper       = filenameHelper;

            if (_dictionary == null)
            {
                Console.WriteLine("Hello");
                _dictionary = _fileHelper.ReadDictionary(_filenameHelper.GetDictionaryFilename());
            }

            if (_guessedWords == null)
            {
                Console.WriteLine("Guessed words");
                var json = _fileHelper.ReadFile(_filenameHelper.GetGuessedWordsFilename());
                _guessedWords = JsonConvert.DeserializeObject <GuessedWords>(json) ?? new GuessedWords();
            }
        }
示例#7
0
        public WordStatusTests()
        {
            _filenameHelper = Substitute.For <IFilenameHelper>();
            _filenameHelper
            .GetGuessedWordsFilename()
            .Returns(Filename);

            _filenameHelper
            .GetDictionaryFilename()
            .Returns(Filename);

            TestFileHelper.Create(Filename);
            var json = TestFileHelper.Read(Filename);

            _wordDefinitionHelper = Substitute.For <IWordDefinitionHelper>();
            _wordExistenceHelper  = Substitute.For <IWordExistenceHelper>();
            _wordHelper           = Substitute.For <IWordHelper>();
            _fileHelper           = new FileHelper();

            _wordService = new WordService(_wordExistenceHelper, _wordHelper, _wordDefinitionHelper, _fileHelper, _filenameHelper);
            _dictionary  = _wordService.GetDictionary();
        }
        public AutomaticallyAddNewWordToDictionaryTests()
        {
            _wordDefinitionHelper = Substitute.For <IWordDefinitionHelper>();
            _wordExistenceHelper  = Substitute.For <IWordExistenceHelper>();
            _wordHelper           = Substitute.For <IWordHelper>();
            _filenameHelper       = Substitute.For <IFilenameHelper>();
            _filenameHelper.GetDictionaryFilename().Returns(Filename);
            _filenameHelper.GetGuessedWordsFilename().Returns(Filename);
            _fileHelper = new FileHelper();


            if (File.Exists(Filename))
            {
                File.Delete(Filename);
            }

            TestFileHelper.Create(Filename);
            _wordService = new WordService(_wordExistenceHelper, _wordHelper, _wordDefinitionHelper, _fileHelper, _filenameHelper);
            var json = TestFileHelper.Read(Filename);

            _dictionary = _wordService.GetDictionary();
        }
示例#9
0
        public SocketService(IWordHelper wordHelper)
        {
            var listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

            try
            {
                listenSocket.Bind(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8005));
                listenSocket.Listen(10);

                Console.WriteLine("Сервер запущен. Ожидание подключений...");

                while (true)
                {
                    var handler = listenSocket.Accept();
                    var builder = new StringBuilder();
                    var data    = new byte[256];
                    do
                    {
                        var bytes = handler.Receive(data);
                        builder.Append(Encoding.Unicode.GetString(data, 0, bytes));
                    } while (handler.Available > 0);

                    var message = string.Join(Environment.NewLine,
                                              wordHelper.GetByPrefix(builder.ToString()).Item1.Select(i => i.Text));
                    data = Encoding.Unicode.GetBytes(message);
                    handler.Send(data);

                    handler.Shutdown(SocketShutdown.Both);
                    handler.Close();
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
示例#10
0
 public NearbyWords(IWordHelper wordHelper)
 {
     _wordHelper = wordHelper;
 }
示例#11
0
 public NearbyWords(IWordHelper wordHelper)
 {
     _wordHelper = wordHelper;
 }
示例#12
0
        static async Task GUI(IWordHelper wordHelper)
        {
            while (AppIsRun)
            {
                Console.WriteLine("Введите префикс: ");
                var input = Console.ReadLine();
                if (input != null && input.Contains('/'))
                {
                    switch (input)
                    {
                    case "/":
                    case "/help":
                        Console.WriteLine("Список доступных команд:");
                        Console.WriteLine("/ или /help\t откроет этот список");
                        Console.WriteLine("/exit\tВыход из приложения");
                        Console.WriteLine("/clear\tОчистка бд");
                        Console.WriteLine("/create \"filename\"\tДобавление в словарь слов из файла");
                        break;

                    case "/exit":
                        AppIsRun = false;
                        break;

                    case "/clear":
                        await wordHelper.Clear();

                        break;

                    default:
                        if (input.Contains("/create "))
                        {
                            var filename = input.Substring(8);
                            if (File.Exists(filename))
                            {
                                var(success, count) = await wordHelper.CreateDictionary(filename);

                                if (success)
                                {
                                    Console.WriteLine($"База успешно обновлена {count} новых слов добавлено");
                                }
                            }
                            else
                            {
                                Console.WriteLine("Файл не существует");
                            }
                        }
                        break;
                    }
                }
                else
                {
                    var(query, error) = wordHelper.GetByPrefix(input);
                    if (query == null)
                    {
                        Console.WriteLine(error);
                    }
                    else
                    {
                        foreach (var word in query !.Select(i => i.Text))
                        {
                            Console.WriteLine("> " + word);
                        }
                    }
                }
            }
        }