Ejemplo n.º 1
0
        public void Init()
        {
            var phones = new List <Phone> {
                new Phone(111), new Phone(222)
            };
            var tariff = new BasicTariff(1, costPerMinute: 1000, name: "1");

            firstClient  = new IndividualClient(1, tariff, phones[0], 0, ClientStatus.Avalible, "111");
            secondClient = new IndividualClient(2, tariff, phones[1], 0, ClientStatus.Avalible, "222");
            var clients = new List <Client>
            {
                firstClient,
                secondClient
            };

            this.unitOfWork = new BillingUnitOfWork(
                new PhoneRepository(phones),
                new TariffRepository(new List <BasicTariff> {
                tariff
            }),
                null,
                new ClientRepository(clients),
                new BillingRepository(new List <Data.Billing>()));

            this.exchangeBilling = new ExchangeBilling(unitOfWork, TimeSpan.FromSeconds(5),
                                                       (uint)DateTime.Now.Day, 1);
        }
        public void ShouldThroughArgumentException(double consumption)
        {
            // Arrange
            var basicTariff = new BasicTariff();

            // Act
            // Assert
            Assert.Throws <ArgumentException>(() => basicTariff.GetAnnualCosts(consumption), "Should throw ArgumentException when consumption less 0");
        }
Ejemplo n.º 3
0
        public void CalculatesAnnualCosts(decimal monthlyFee, decimal pricePerUnit, decimal unitsPerYear, decimal expectedCost)
        {
            var cut = new BasicTariff("Product A", monthlyFee, pricePerUnit);
            var c   = new Consumption(unitsPerYear);

            var actualCost = cut.Calculate(c);

            Assert.AreEqual(expectedCost, actualCost);
        }
 public void Initialize()
 {
     _basicTariff = new BasicTariff();
     _packagedTariff = new PackagedTariff();
     _subject = new TariffComparator(new List<ITariff>
     {
         _basicTariff,
         _packagedTariff,
     });
 }
        public void ShouldReturnValidAnnualCosts(int consumption, int cost)
        {
            // Arrange
            var basicTariff = new BasicTariff();

            // Act
            var annualCosts = basicTariff.GetAnnualCosts(consumption);

            // Assert
            Assert.AreEqual(cost, annualCosts, "Annual cost calculated incorrectly");
        }
Ejemplo n.º 6
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Abstract Pricing Model Demo:");
            Console.WriteLine("");
            Console.WriteLine("Type numbers for kWh\\year. Hit [Enter] to exit.");

            var productA = new BasicTariff("Basic Electricity Tariff", 5, 0.22m);
            var productB = new PackagedTariff("Packaged Electricity Tariff", 800, 0.3m, 4000);

            string tmp;

            do
            {
                Console.Write("kWh\\year: ");
                tmp = Console.ReadLine();
                if (!String.IsNullOrEmpty(tmp))
                {
                    var dTmp = Convert.ToDecimal(tmp);
                    PrintTariff(productA, dTmp);
                    PrintTariff(productB, dTmp);
                    Console.WriteLine();
                }
            } while (!String.IsNullOrEmpty(tmp));
        }
 public void Initialize()
 {
     _subject = new BasicTariff();
 }