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); }
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."); } }