Beispiel #1
0
        public void TariffNamesWithDifferentValueShouldNotBeEqual(string firstValue,
                                                                  string secondValue)
        {
            TariffName firstName  = TariffName.Create(firstValue);
            TariffName secondName = TariffName.Create(secondValue);

            Assert.That(firstName, Is.Not.EqualTo(secondName));
        }
Beispiel #2
0
        public void TariffNamesWithSameValueShouldBeEqualIgnoreCase(string firstValue,
                                                                    string secondValue)
        {
            TariffName firstName  = TariffName.Create(firstValue);
            TariffName secondName = TariffName.Create(secondValue);

            Assert.That(firstName, Is.EqualTo(secondName));
        }
Beispiel #3
0
        public void TariffNamesWithSameValueShouldHaveSameHashCode(string firstValue,
                                                                   string secondValue)
        {
            TariffName firstName  = TariffName.Create(firstValue);
            TariffName secondName = TariffName.Create(secondValue);

            Assert.That(firstName.GetHashCode(), Is.EqualTo(secondName.GetHashCode()));
        }
Beispiel #4
0
        public Subscriber(string phoneNumber = "0000000000", TariffName tariff = TariffName.Standard)
        {
            CheckNumber(phoneNumber);

            currentTariff = tariff;
            PhoneNumber   = phoneNumber;
            Balance       = 0.0f;

            callHistory    = new List <Call>();
            activeServices = new HashSet <ServiceName>();
        }
Beispiel #5
0
        //Инициализирующий конструктор
        public MobileAccount(TariffName tariffName, double pricePerMin, int balance, string phoneNumber) : this()
        {
            _tariffName  = tariffName;
            _pricePerMin = pricePerMin;
            _balance     = balance;

            if (Regex.IsMatch(phoneNumber, phoneNumberRegex))
            {
                _phoneNumber = phoneNumber;
            }
            //Генерация исключения в случае невалидных данных
            else
            {
                throw new Exception("Invalid phone number");
            }
        }
Beispiel #6
0
        public void Add(TariffName name, ConsumptionCost calculatedCost)
        {
            if (name.Equals(TariffName.UNKNOWN))
            {
                return;
            }

            if (_innerCollection.ContainsKey(name))
            {
                _innerCollection[name].Add(calculatedCost);
            }
            else
            {
                _innerCollection.Add(name, new SortedSet <ConsumptionCost>(
                                         new[] { calculatedCost }));
            }
        }
Beispiel #7
0
 //Метод для установки нового тарифа
 public void SetNewTariff(TariffName tariff)
 {
     _tariffName = tariff;
     Console.WriteLine($"Для абонента {this._phoneNumber} установлен тариф: {this._tariffName}");
 }
Beispiel #8
0
 public void ShouldNotCreateTariffNameFromInvalidInputString(string invalidName)
 {
     Assert.Throws <ArgumentException>(() => TariffName.Create(invalidName));
 }
Beispiel #9
0
 public void ChangeTariff(TariffName newTariff)
 {
     currentTariff = newTariff;
 }
 public Tariff Create(TariffName name)
 {
     return(_tariffConstructors.ContainsKey(name)
         ? _tariffConstructors[name]()
         : new UnknownTariff());
 }