Ejemplo n.º 1
0
        public void ShouldReturnCorrectCultureForKeywords(string culture)
        {
            Globalization.SetKeywordResourceCulture(new CultureInfo(culture));
            YamlRuleParser parser = new YamlRuleParser(YamlTestFileLoader.Load($"Globalization/rule.{culture}.yaml"), null);

            Assert.NotEmpty(parser.Flow());
            Assert.NotNull(parser.Header());
        }
Ejemplo n.º 2
0
        public void Yaml_Can_Parse_Formulas()
        {
            var yamlParser = new YamlRuleParser(YamlTestFileLoader.Load(@"Rijksoverheid/Zorgtoeslag.yaml"), null);
            var functions  = yamlParser.Formulas();

            Assert.True(functions.Count() == 11);
            Assert.True(functions.ElementAt(1).Name == "maximaalvermogen");
            Assert.True(functions.ElementAt(1).IsSituational == true);
        }
Ejemplo n.º 3
0
        public void Flow_Zorgtoeslag_Model_Flow_Deserialization()
        {
            var parser = new YamlRuleParser(YamlTestFileLoader.Load(@"Rijksoverheid/Zorgtoeslag.yaml"), null);
            var steps  = parser.Flow();

            Assert.True(steps.Count() == 3);
            Assert.True((from p in steps where p.Formula == "recht" select p).Single().Situation == "");
            Assert.True((from p in steps where p.Situation == "buitenland" select p).Single().Description == "bereken de zorgtoeslag wanner men in het buitenland woont");
            Assert.True((from p in steps where p.Name == "2" select p).First().Description == "bereken de zorgtoeslag wanneer men binnen nederland woont");
        }
Ejemplo n.º 4
0
        public void Yaml_Passes_AttributeNaming_Stuurinformatie()
        {
            var map = YamlRuleParser.Map(YamlTestFileLoader.Load(@"Rijksoverheid/Zorgtoeslag.yaml"));
            var s   = "";

            foreach (var entry in (YamlMappingNode)map.Children[new YamlScalarNode("stuurinformatie")])
            {
                s += (((YamlScalarNode)entry.Key).Value) + ",";
            }
            Assert.True("bron,domein,jaar,onderwerp,organisatie,status,type,versie" == Order(s));
        }
Ejemplo n.º 5
0
        public void Yaml_Passes_AttributeValues_Stuurinformatie()
        {
            var map     = YamlRuleParser.Map(YamlTestFileLoader.Load(@"Rijksoverheid/Zorgtoeslag.yaml"));
            var s       = "";
            var entries = (YamlMappingNode)map.Children[new YamlScalarNode("stuurinformatie")];

            foreach (var entry in entries)
            {
                s += entry.Value + ",";
            }
            Assert.True("1.0,2019,belastingdienst,https://download.belastingdienst.nl/toeslagen/docs/berekening_zorgtoeslag_2019_tg0821z91fd.pdf,ontwikkel,toeslagen,zorg,zorgtoeslag" == Order(s));
        }
Ejemplo n.º 6
0
        public void Yaml_Can_Deserialize_Root_Nodes()
        {
            var map = YamlRuleParser.Map(YamlTestFileLoader.Load(@"Rijksoverheid/Zorgtoeslag.yaml"));
            // Load the stream
            var s = "";

            foreach (var entry in map.Children)
            {
                s += (((YamlScalarNode)entry.Key).Value) + ",";
            }
            Assert.True("berekening,formules,stuurinformatie,tabellen" == Order(s));
        }
Ejemplo n.º 7
0
        public void Yaml_Can_Deserialize_Tables()
        {
            var yamlParser = new YamlRuleParser(YamlTestFileLoader.Load(@"Rijksoverheid/Zorgtoeslag.yaml"), null);
            var tabellen   = yamlParser.Tabellen();

            Assert.True(tabellen.Count() == 1);
            var tabel = tabellen.Single();

            Assert.True(tabel.Name == "woonlandfactoren");
            Assert.True(tabel.ColumnTypes.Count == 2);
            Assert.True(tabel.ColumnTypes[0].Name == "woonland");
            Assert.True(tabel.ColumnTypes[1].Name == "factor");
        }
Ejemplo n.º 8
0
        public StuurInformatie GetStuurInformatieYaml()
        {
            var parser = new YamlRuleParser(YamlTestFileLoader.Load(@"Simple.yaml"), null);

            return(parser.Header());
        }
Ejemplo n.º 9
0
        public List <Table> GetTablesSimpleYaml()
        {
            var parser = new YamlRuleParser(YamlTestFileLoader.Load(@"Simple.yaml"), null);

            return(parser.Tabellen().ToList());
        }
Ejemplo n.º 10
0
        public List <Formula> GetFlowSimpleYaml()
        {
            var parser = new YamlRuleParser(YamlTestFileLoader.Load(@"Simple.yaml"), null);

            return(parser.Formulas().ToList());
        }