Exemplo n.º 1
0
        public void Setup()
        {
            server = new Server {
                Timer = new TimerStub()
            };
            IDriver    driver = new DriverStub();
            Experiment exp    = new Experiment()
            {
                Name = expName
            };

            server.AddExperiment(exp);
            exp.AddVariable(new IntegerVariable(1, "Var1")
            {
                Driver = driver
            });
            exp.AddVariable(new IntegerVariable(2, "Var2")
            {
                Driver = driver
            });
            exp.AddVariable(new IntegerVariable(3, "Var3")
            {
                Driver = driver
            });

            storage             = new VariableStorageStub();
            server.ValueStorage = storage;

            storage.Enqueue(1, 2.45);
            storage.Enqueue(2, 3.14);
            storage.Enqueue(3, 2.72);
        }
        public void Should_increase_original_premium_by_20_percent_when_driver_is_24()
        {
            const double expected            = 600.00;
            const double increaseAmount      = 0.2;
            const int    startingYoungAge    = 21;
            const int    endingYoungAge      = 25;
            const string driverName          = "name";
            const string occupation          = "occupation";
            const string secondDriverName    = "name2";
            const double premium             = 500.00;
            var          todayProvider       = new GenericStubProvider <DateTime>(new[] { DateTime.Today, DateTime.Today });
            var          driverDateOfBirth   = DateTime.Now.AddYears(-25);
            var          driversDateOfBirth  = DateTime.Now.AddYears(-40);
            var          driverClaims        = new IClaim[0];
            var          secondDriversClaims = new IClaim[0];
            var          driversAndPremiumToUpdatedPremiumForYoungDrivers = new DriversAndPremiumToUpdatedPremiumForYoungDrivers(startingYoungAge, endingYoungAge, todayProvider, increaseAmount);
            var          firstDriver       = new DriverStub(driverName, occupation, driverDateOfBirth, driverClaims);
            var          secondDriver      = new DriverStub(secondDriverName, occupation, driversDateOfBirth, secondDriversClaims);
            var          drivers           = new [] { firstDriver, secondDriver };
            var          driversAndPremium = new DriverAndPremium(firstDriver, premium);

            var actual = driversAndPremiumToUpdatedPremiumForYoungDrivers.Transform(driversAndPremium);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 3
0
        public void then_can_remove_driver()
        {
            IDriver driverStub = new DriverStub();

            server.AddDriver(driverStub);
            server.RemoveDriver(driverStub);
        }
Exemplo n.º 4
0
        public void then_fail_removing_driver_with_server_started()
        {
            IDriver driverStub = new DriverStub();

            server.AddDriver(driverStub);
            server.Start(0);
            server.RemoveDriver(driverStub);
        }
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);



            _changer     = null;
            editingTools = null;
        }
 void initChanger()
 {
     //try
     //{
     if (_changer == null)
     {
         _changer = DriverStub.createInstanse(environment);//, ToolMobile.getAsmRootPath(), "AvaPlugin.dll"
     }
     callChanger(_docStatusBeginDoc);
 }
Exemplo n.º 7
0
        public void Should_value_return_true_for_success_when_no_driver_has_more_than_two_claims()
        {
            const string name              = "997CA129-4C94-42E0-A1A8-CBBE7428BDD1";
            const string occupation        = "91F6F29D-6D52-459F-9B03-FCA10749E12D";
            const string secondDriversName = "E99BD141-22A2-45E2-885C-380234066C25";
            var          now         = DateTime.Now;
            var          firstClaim  = new ClaimStub(now);
            var          secondClaim = new ClaimStub(now);
            var          rejectionMessageAndSuccessBasedOnADriverHavingMoreThanTwoClaimsTransform = new RejectionMessageAndSuccessBasedOnADriverHavingMoreThanTwoClaimsTransform();
            var          firstDriver  = new DriverStub(name, occupation, now, new [] { firstClaim, secondClaim });
            var          secondDriver = new DriverStub(secondDriversName, occupation, now, new [] { firstClaim, secondClaim });
            var          drivers      = new [] { firstDriver, secondDriver };
            var          actual       = rejectionMessageAndSuccessBasedOnADriverHavingMoreThanTwoClaimsTransform.Transform(drivers).Success;

            Assert.IsTrue(actual);
        }
        public void Should_return_original_premium_when_neither_driver_is_a_chauffeur()
        {
            const double increaseAmount              = 0.1;
            const double expected                    = 500.00;
            const string driversName                 = "name";
            const string driversOccupation           = "Mechanic";
            var          driversDateOfBirth          = DateTime.Now;
            var          driversClaims               = new IClaim[0];
            var          jobsWherePremiumIsIncreased = new [] { "Chauffeur" };
            var          driversAndPremiumToIncreasedPremiumBasedOnOccupationTransform = new DriversAndPremiumToIncreasedPremiumBasedOnOccupationTransform(jobsWherePremiumIsIncreased, increaseAmount);
            var          driver           = new DriverStub(driversName, driversOccupation, driversDateOfBirth, driversClaims);
            var          driverAndPremium = new DriverAndPremium(driver, expected);

            var actual = driversAndPremiumToIncreasedPremiumBasedOnOccupationTransform.Transform(driverAndPremium);

            Assert.AreEqual(expected, actual);
        }
        public void Should_return_result_of_premium_after_adult_calculation()
        {
            const string name        = "name";
            const string occupation  = "occupation";
            const double expected    = 660.00;
            const double premium     = 500.00;
            var          claims      = new IClaim[0];
            var          dateOfBirth = DateTime.Now;
            var          driversAndPremiumToUpdatedPremiumForAdultDrivers     = new GenericStubTransform <DriverAndPremium, double>(expected);
            var          driversAndPremiumToUpdatedPremiumForYoungDrivers     = new GenericStubTransform <DriverAndPremium, double>(expected);
            var          driversAndPremiumToUpdatedPremiumBasedOnAgeTransform = new DriversAndPremiumToUpdatedPremiumBasedOnAgeTransform(driversAndPremiumToUpdatedPremiumForYoungDrivers, driversAndPremiumToUpdatedPremiumForAdultDrivers);
            var          driver = new DriverStub(name, occupation, dateOfBirth, claims);

            var actual = driversAndPremiumToUpdatedPremiumBasedOnAgeTransform.Transform(new DriverAndPremium(driver, premium));

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 10
0
        public void Should_return_rejection_based_on_policy_date_when_that_rejection_message_and_success_is_false()
        {
            var expected = new RejectionMessageAndSuccess("Start Date of Policy", false);
            var rejectionMessageAndSuccessBasedOnPolicyStartDateTransform = new GenericStubTransform <DateTime, RejectionMessageAndSuccess>(expected);
            var firstTransform = new GenericStubTransform <IEnumerable <IDriver>, RejectionMessageAndSuccess>();
            var driverBasedRejectionMessagesAndSuccessTransforms = new [] { firstTransform };
            var policyToRejectionMessageAndSuccess = new PolicyToRejectionMessageAndSuccess(rejectionMessageAndSuccessBasedOnPolicyStartDateTransform, driverBasedRejectionMessagesAndSuccessTransforms);
            var now         = DateTime.Now;
            var claims      = new [] { new ClaimStub(now) };
            var firstDriver = new DriverStub("name", "occupation", now, claims);
            var drivers     = new [] { firstDriver };
            var policy      = new PolicyStub(now, drivers);

            var actual = policyToRejectionMessageAndSuccess.Transform(policy);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 11
0
        public void Should_return_original_premium_when_driver_is_not_an_Accountant()
        {
            const double expected                    = 500.00;
            const double decreaseAmount              = 0.1;
            const string driversName                 = "name";
            const string driversOccupation           = "Electrician";
            var          driversDateOfBirth          = DateTime.Now;
            var          driversClaims               = new IClaim[0];
            var          jobsWherePremiumIsDecreased = new [] { "Accountant" };
            var          driversAndPremiumToDecreasedPremiumBasedOnOccupationTransform = new DriversAndPremiumToDecreasedPremiumBasedOnOccupationTransform(jobsWherePremiumIsDecreased, decreaseAmount);
            var          firstDriver      = new DriverStub(driversName, driversOccupation, driversDateOfBirth, driversClaims);
            var          driverAndPremium = new DriverAndPremium(firstDriver, expected);

            var actual = driversAndPremiumToDecreasedPremiumBasedOnOccupationTransform.Transform(driverAndPremium);

            Assert.AreEqual(expected, actual);
        }
        public void Should_return_the_result_of_driversAndPremiumToDecreasedPremiumBasedOnOccupationTransform()
        {
            const double premium            = 500.00;
            const string driverName         = "name";
            const string driverOccupation   = "occupation";
            var          driversDateOfBirth = DateTime.Now;
            var          claims             = new IClaim[0];
            var          drivers            = new DriverStub(driverName, driverOccupation, driversDateOfBirth, claims);
            const double expected           = 660.00;
            var          driversAndPremium  = new DriverAndPremium(drivers, premium);
            var          driversAndPremiumToIncreasedPremiumBasedOnOccupationTransform = new GenericStubTransform <DriverAndPremium, double>(premium);
            var          driversAndPremiumToDecreasedPremiumBasedOnOccupationTransform = new GenericStubTransform <DriverAndPremium, double>(expected);
            var          driversAndPremiumToUpdatedPremiumBasedOnOccupationTransform   = new DriversAndPremiumToUpdatedPremiumBasedOnOccupationTransform(driversAndPremiumToIncreasedPremiumBasedOnOccupationTransform, driversAndPremiumToDecreasedPremiumBasedOnOccupationTransform);

            var actual = driversAndPremiumToUpdatedPremiumBasedOnOccupationTransform.Transform(driversAndPremium);

            Assert.AreEqual(expected, actual);
        }
        public void Should_return_original_premium_when_driver_is_younger_than_26()
        {
            const double increaseAmount    = 0.1;
            const int    startingAdultAge  = 26;
            const int    endingAdultAge    = 75;
            const string driverName        = "name";
            const string occupation        = "occupation";
            const double expected          = 500.00;
            var          todayProvider     = new GenericStubProvider <DateTime>(new[] { DateTime.Today, DateTime.Today });
            var          driverDateOfBirth = DateTime.Now.AddYears(-25);
            var          driverClaims      = new IClaim[0];
            var          driversAndPremiumToUpdatedPremiumForYoungDrivers = new DriversAndPremiumToUpdatedPremiumForAdultDrivers(startingAdultAge, endingAdultAge, todayProvider, increaseAmount);
            var          driver            = new DriverStub(driverName, occupation, driverDateOfBirth, driverClaims);
            var          driversAndPremium = new DriverAndPremium(driver, expected);

            var actual = driversAndPremiumToUpdatedPremiumForYoungDrivers.Transform(driversAndPremium);

            Assert.AreEqual(expected, actual);
        }
        public void Should_return_true_for_success_when_no_driver_is_older_than_75()
        {
            var          now             = DateTime.Now;
            var          nowTimeProvider = new GenericStubProvider <DateTime>(now);
            const string drivername      = "driverName";
            const string occupation      = "occupation";
            var          dateOfBirth70   = DateTime.Now.AddYears(-70);
            var          driverOneClaim  = new ClaimStub(DateTime.Now);
            var          firstDriver     = new DriverStub(drivername, occupation, dateOfBirth70, new [] { driverOneClaim });
            var          dateOfBirth74   = DateTime.Now.AddYears(-74);
            var          driver2Claim    = new ClaimStub(DateTime.Now);
            var          secondDriver    = new DriverStub(drivername, occupation, dateOfBirth74, new [] { driver2Claim });
            var          rejectionMessageAndSuccessBasedOnOldestDriverTransform = new RejectionMessageAndSuccessBasedOnOldestDriverTransform(75, nowTimeProvider);

            var drivers = new [] { firstDriver, secondDriver };
            var actual  = rejectionMessageAndSuccessBasedOnOldestDriverTransform.Transform(drivers).Success;

            Assert.IsTrue(actual);
        }
        public void Should_return_true_for_success_when_youngestDriver_is_than_21()
        {
            const string name          = "name";
            const string occupation    = "occupation";
            var          today         = DateTime.Today;
            var          todayProvider = new GenericStubProvider <DateTime>(today);
            var          dateOfBirth   = today.AddYears(-21);
            var          rejectionMessageAndSuccessBasedOnYoungestDriverTransform = new RejectionMessageAndSuccessBasedOnYoungestDriverTransform(21, todayProvider);
            var          firstDriversFirstClaim  = new ClaimStub(DateTime.Now);
            var          firstDriversClaims      = new [] { firstDriversFirstClaim };
            var          secondDriversFirstClaim = new ClaimStub(DateTime.Now);
            var          secondDriversClaims     = new [] { secondDriversFirstClaim };
            var          firstDriver             = new DriverStub(name, occupation, dateOfBirth, firstDriversClaims);
            var          secondDriver            = new DriverStub(name, occupation, dateOfBirth, secondDriversClaims);
            var          drivers = new [] { firstDriver, secondDriver };

            var actual = rejectionMessageAndSuccessBasedOnYoungestDriverTransform.Transform(drivers).Success;

            Assert.IsTrue(actual);
        }
Exemplo n.º 16
0
        public void Should_increase_premium_by_smaller_percentage_when_a_claim_has_been_made_more_than_one_year_ago()
        {
            const double expected                = 550.00;
            const string name                    = "name";
            const string occupation              = "occupation";
            const double premium                 = 500.00;
            var          dateOfBirth             = DateTime.Now;
            var          dateOfClaim             = DateTime.Today.AddYears(-2);
            var          todayProvider           = new GenericStubProvider <DateTime>(DateTime.Today);
            const double smallerPercentIncrease  = 0.1;
            const double largePercentageIncrease = 0.2;
            const int    smallerTimeSpanInYears  = 1;
            const int    largerTimeSpanInYears   = 5;
            var          driversAndPremiumToUpdatedPremiumBasedOnDriverClaimsTransform = new DriversAndPremiumToUpdatedPremiumBasedOnDriverClaimsTransform(smallerPercentIncrease, largePercentageIncrease, smallerTimeSpanInYears, largerTimeSpanInYears, todayProvider);
            var          claim             = new ClaimStub(dateOfClaim);
            var          driver            = new DriverStub(name, occupation, dateOfBirth, new [] { claim });
            var          driversAndPremium = new DriverAndPremium(driver, premium);

            var actual = driversAndPremiumToUpdatedPremiumBasedOnDriverClaimsTransform.Transform(driversAndPremium);

            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 17
0
        public void SetUp()
        {
            exp = new Experiment {
                Name = "Exp1"
            };
            driver = new DriverStub();
            Variable var1 = new IntegerVariable(1, "Var1")
            {
                Driver = driver
            };
            Variable var2 = new IntegerVariable(2, "Var2")
            {
                Driver = driver
            };
            Variable var3 = new IntegerVariable(3, "Var3")
            {
                Driver = driver
            };

            exp.AddVariable(var1);
            exp.AddVariable(var2);
            exp.AddVariable(var3);
        }
Exemplo n.º 18
0
        public void Setup()
        {
            timer  = new TimerStub();
            server = new Server
            {
                Timer = timer,
                MinUserLevelToAdmin = 20,
            };
            IDriver    driver = new DriverStub();
            Experiment exp    = new Experiment()
            {
                Name = expName
            };

            server.AddExperiment(exp, 100);
            exp.AddVariable(new IntegerVariable(1, "Var1")
            {
                MinUserLevelToRead  = 20,
                MinUserLevelToWrite = 40,
                Driver = driver
            });
            exp.AddVariable(new IntegerVariable(2, "Var2")
            {
                Driver = driver
            });
            exp.AddVariable(new IntegerVariable(3, "Var3")
            {
                Driver = driver
            });

            storage             = new VariableStorageStub();
            server.ValueStorage = storage;

            storage.Enqueue(1, 2.45);
            storage.Enqueue(2, 3.14);
            storage.Enqueue(3, 2.72);
        }