public void ReturnsRatingOf0For200000BondOn260000LandPolicy()
        {
            var policy = new Policy
            {
                Type       = PolicyType.Land,
                BondAmount = 200000,
                Valuation  = 260000
            };
            string json = JsonConvert.SerializeObject(policy);

            File.WriteAllText("policy.json", json);
            ILogger             log = new Logger();
            IPolicyRaterFactory policyRaterFactory = new PolicyRaterFactory();
            IPolicyFileLoader   policyFileLoader   = new FilePolicyResource();
            IDeserializer       deserializer       = new SerializePolicyFile();
            IRatingContext      context            = new DefaultRatingContext(policyRaterFactory, deserializer, policyFileLoader, log);
            var engine = new RatingEngine(context);

            engine.Rate();
            var result = engine.Rating;

            Assert.AreEqual(0, result);
        }
Example #2
0
        static void Main(string[] args)
        {
            ILogger log = new Logger();

            log.LogInfo("Ardalis Insurance Rating System Starting...");
            IPolicyRaterFactory policyRaterFactory = new PolicyRaterFactory();
            IPolicyFileLoader   policyFileLoader   = new FilePolicyResource();
            IDeserializer       deserializer       = new SerializePolicyFile();
            IRatingContext      ratingContext      = new DefaultRatingContext(policyRaterFactory, deserializer, policyFileLoader, log);


            var engine = new RatingEngine(ratingContext);

            engine.Rate();

            if (engine.Rating > 0)
            {
                log.LogInfo($"Rating: {engine.Rating}");
            }
            else
            {
                log.LogInfo("No rating produced.");
            }
        }