コード例 #1
0
        public void UnlimitedCustomer_IsChargedAFlatRatePerMonth()
        {
            var customer = new Customer {
                Type = CustomerType.Unlimited
            };
            var usage = new MonthlyUsage {
                CallMinutes = 100, SmsCount = 100, Customer = customer
            };
            var statement = new MonthlyStatement();

            statement.Generate(usage);

            Assert.AreEqual(0, statement.CallCost);
            Assert.AreEqual(0, statement.SmsCost);
            Assert.AreEqual(54.90f, statement.TotalCost);
        }
コード例 #2
0
        public void PayAsYouGoCustomer_IsChargedBasedOnTheSumOfCostOfCallAndSms()
        {
            var customer = new Customer {
                Type = CustomerType.PayAsYouGo
            };
            var usage = new MonthlyUsage {
                CallMinutes = 100, SmsCount = 100, Customer = customer
            };
            var statement = new MonthlyStatement();

            statement.Generate(usage);

            Assert.AreEqual(12.0f, statement.CallCost);
            Assert.AreEqual(12.0f, statement.SmsCost);
            Assert.AreEqual(24.0f, statement.TotalCost);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var monthlyUsage = new MonthlyUsage();

            monthlyUsage.Customer      = new Customer();
            monthlyUsage.CallMinutes   = 100;
            monthlyUsage.SmsCount      = 500;
            monthlyUsage.Customer.Type = CustomerType.Unlimited;
            var monthlyStatement = new MonthlyStatement();

            monthlyStatement.CallCost = 1;
            monthlyStatement.Generate(monthlyUsage);

            Console.WriteLine(monthlyStatement.TotalCost);
        }