示例#1
0
        /// <summary>
        /// Добавляет объект в хранилище по двум алгоритмам.
        /// </summary>
        /// <param name="consumer">
        /// Объект, который необходимо добавить в хранилище
        /// </param>
        public void AddConsumer(Consumer consumer)
        {
            var CodeConsumer       = Logic1.GenerateCode(consumer);
            var availableConsumers = from с in _consumersStorage
                                     where Logic1.GenerateCode(с) == CodeConsumer
                                     select с;

            var CodeConsumer2       = Logic2.GenerateCode(consumer);
            var availableConsumers2 = from с in _consumersStorage
                                      where Logic2.GenerateCode(с) == CodeConsumer
                                      select с;

            if (availableConsumers.FirstOrDefault() != null)
            {
                //return;
                throw new Exception("Невозможно добавить объект с такими данными, т.к. код для него не будет уникальным!");
            }

            if (availableConsumers2.FirstOrDefault() != null)
            {
                //return;
                throw new Exception("Невозможно добавить объект с такими данными, т.к. код для него не будет уникальным!");
            }

            _consumersStorage.Add(consumer);
        }
示例#2
0
        public void TC_L2_Incorrect_empty_ls()
        {
            ///Тестовые данные.
            var TestConsumer = new Consumer()
            {
                Name    = "РогаКопыта",
                DateReg = new DateTime(2017, 01, 01),
                //Account = null
            };

            ///Запуск теста.
            var ex = Assert.Throws <ArgumentNullException>(() => Logic2.GenerateCode(TestConsumer));

            ///Сравнение.
            Assert.Contains("Не заполнены все поля формы", ex.Message);
        }
示例#3
0
        public void TC_L2_Correct_short()
        {
            ///Тестовые данные.
            var TestConsumer = new Consumer()
            {
                Name    = "Р",
                DateReg = new DateTime(2017, 01, 01),
                Account = 1,
            };

            //правильное решение
            var expectedCode = "0000001____Р170101";

            ///Запуск теста.
            var Code = Logic2.GenerateCode(TestConsumer);

            ///Сравнение.
            Assert.Equal(expectedCode, Code);
        }
示例#4
0
 /// <summary>
 /// Получает объект из хранилища по коду алгоритма 2.
 /// </summary>
 /// <param name="CodeConsumer">
 /// Код, который необходимо использовать для получения объекта из хранилища.
 /// </param>
 /// <returns>
 /// Объект, найденный в хранилище данных, либо <c>null</c>.
 /// </returns>
 public Consumer GetConsumer2(string CodeConsumer)
 {
     return(_consumersStorage.FirstOrDefault(Consumer => Logic2.GenerateCode(Consumer) == CodeConsumer));
 }