Summary

Class:Xrm.Oss.XTL.Interpreter.ConfigHandler
Assembly:Xrm.Oss.XTL.Templating
File(s):D:\Entwicklung\Xrm-Templating-Language\src\lib\Xrm.Oss.XTL.Interpreter\ConfigHandler.cs
Covered lines:19
Uncovered lines:2
Coverable lines:21
Total lines:44
Line coverage:90.4% (19 of 21)
Covered branches:4
Total branches:6
Branch coverage:66.6% (4 of 6)

Metrics

MethodCyclomatic complexity NPath complexity Sequence coverage Branch coverage Crap Score
.ctor(...)10100%100%2
Contains(...)10100%100%2
IsSet(...)22100%66.67%6
GetValue(...)3480%80%12

File(s)

D:\Entwicklung\Xrm-Templating-Language\src\lib\Xrm.Oss.XTL.Interpreter\ConfigHandler.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.IO;
 4using System.Text;
 5
 6namespace Xrm.Oss.XTL.Interpreter
 7{
 8    public class ConfigHandler
 9    {
 54410        public Dictionary<string, object> Dictionary { get; internal set; }
 11
 17812        public ConfigHandler(Dictionary<string, object> config)
 17813        {
 17814            Dictionary = config;
 17815        }
 16
 17        public bool Contains(string name)
 10618        {
 10619            return Dictionary.ContainsKey(name);
 10620        }
 21
 22        public bool IsSet(string name)
 823        {
 824            return Dictionary.ContainsKey(name) && Dictionary[name] != null;
 825        }
 26
 27        public T GetValue<T>(string name, string typeErrorMessage, T defaultValue = default(T))
 18728        {
 18729            if (!Dictionary.ContainsKey(name))
 13630            {
 13631                return defaultValue;
 32            }
 33
 5134            var value = Dictionary[name];
 35
 5136            if (!(value is T))
 037            {
 038                throw new InvalidDataException(typeErrorMessage);
 39            }
 40
 5141            return (T)value;
 18742        }
 43    }
 44}