Ejemplo n.º 1
0
        public void ConverterEmpty([Values] BehaviorMode mode, [Values] ParseModesToTest parseMode)
        {
            Dec.Config.TestParameters = new Dec.Config.UnitTestParameters {
                explicitTypes = new Type[] { typeof(ConverterDec) }
            };

            var parser = new Dec.Parser();

            parser.AddString($@"
                <Decs>
                    <ConverterDec decName=""TestDec"">
                        <empty {GenerateParseModeTag(parseMode)}><value>60</value></empty>
                    </ConverterDec>
                </Decs>");

            if (parseMode == ParseModesToTest.Default || parseMode == ParseModesToTest.Patch)
            {
                parser.Finish();
            }
            else
            {
                ExpectErrors(() => parser.Finish());
            }

            DoBehavior(mode);

            Assert.AreEqual(60, Dec.Database <ConverterDec> .Get("TestDec").empty.value);
            Assert.AreEqual(15, Dec.Database <ConverterDec> .Get("TestDec").empty.sideValue);

            Assert.AreEqual(5, Dec.Database <ConverterDec> .Get("TestDec").filled.value);
            Assert.AreEqual(20, Dec.Database <ConverterDec> .Get("TestDec").filled.sideValue);
        }
Ejemplo n.º 2
0
        public void Tuple([Values] BehaviorMode mode, [Values] ParseModesToTest parseMode)
        {
            Dec.Config.TestParameters = new Dec.Config.UnitTestParameters {
                explicitTypes = new Type[] { typeof(TupleDec) }
            };

            var parser = new Dec.Parser();

            parser.AddString($@"
                <Decs>
                    <TupleDec decName=""TestDec"">
                        <value {GenerateParseModeTag(parseMode)}>
                            <li>11</li>
                            <li>12</li>
                        </value>
                    </TupleDec>
                </Decs>");

            if (parseMode == ParseModesToTest.Default || parseMode == ParseModesToTest.Replace)
            {
                parser.Finish();
            }
            else
            {
                ExpectErrors(() => parser.Finish());
            }

            DoBehavior(mode);

            Assert.AreEqual((11, 12), Dec.Database <TupleDec> .Get("TestDec").value);
        }
Ejemplo n.º 3
0
        public void ArrayEmpty([Values] BehaviorMode mode, [Values] ParseModesToTest parseMode)
        {
            Dec.Config.TestParameters = new Dec.Config.UnitTestParameters {
                explicitTypes = new Type[] { typeof(ArrayDec) }
            };

            var parser = new Dec.Parser();

            parser.AddString($@"
                <Decs>
                    <ArrayDec decName=""TestDec"">
                        <empty {GenerateParseModeTag(parseMode)}>
                            <li>5</li>
                            <li>6</li>
                            <li>7</li>
                        </empty>
                    </ArrayDec>
                </Decs>");

            if (parseMode == ParseModesToTest.Default || parseMode == ParseModesToTest.Replace || parseMode == ParseModesToTest.Append)
            {
                parser.Finish();
            }
            else
            {
                ExpectErrors(() => parser.Finish());
            }

            DoBehavior(mode);

            Assert.AreEqual(new int[] { 5, 6, 7 }, Dec.Database <ArrayDec> .Get("TestDec").empty);
            Assert.AreEqual(new int[] { 1, 2, 3, 4 }, Dec.Database <ArrayDec> .Get("TestDec").filled);
        }
Ejemplo n.º 4
0
 static string GenerateParseModeTag(ParseModesToTest mode)
 {
     if (mode == ParseModesToTest.Default)
     {
         return("");
     }
     else
     {
         return($"mode='{mode.ToString().ToLower()}'");
     }
 }
Ejemplo n.º 5
0
        public void HashSetReplace([Values] BehaviorMode mode, [Values] ParseModesToTest parseMode)
        {
            Dec.Config.TestParameters = new Dec.Config.UnitTestParameters {
                explicitTypes = new Type[] { typeof(HashSetDec) }
            };

            var parser = new Dec.Parser();

            parser.AddString($@"
                <Decs>
                    <HashSetDec decName=""TestDec"">
                        <filled {GenerateParseModeTag(parseMode)}>
                            <li>4</li>
                            <li>5</li>
                            <li>6</li>
                            <li>7</li>
                        </filled>
                    </HashSetDec>
                </Decs>");

            if (parseMode == ParseModesToTest.Default || parseMode == ParseModesToTest.Replace || parseMode == ParseModesToTest.Patch)
            {
                parser.Finish();
            }
            else
            {
                ExpectErrors(() => parser.Finish());
            }

            DoBehavior(mode);

            Assert.IsNull(Dec.Database <HashSetDec> .Get("TestDec").empty);
            if (parseMode == ParseModesToTest.Append || parseMode == ParseModesToTest.Patch)
            {
                Assert.AreEqual(new HashSet <int> {
                    1, 2, 3, 4, 5, 6, 7
                }, Dec.Database <HashSetDec> .Get("TestDec").filled);
            }
            else
            {
                Assert.AreEqual(new HashSet <int> {
                    4, 5, 6, 7
                }, Dec.Database <HashSetDec> .Get("TestDec").filled);
            }
        }
Ejemplo n.º 6
0
        public void DictionaryReplace([Values] BehaviorMode mode, [Values] ParseModesToTest parseMode)
        {
            Dec.Config.TestParameters = new Dec.Config.UnitTestParameters {
                explicitTypes = new Type[] { typeof(DictionaryDec) }
            };

            var parser = new Dec.Parser();

            parser.AddString($@"
                <Decs>
                    <DictionaryDec decName=""TestDec"">
                        <filled {GenerateParseModeTag(parseMode)}>
                            <three>-3</three>
                            <four>4</four>
                            <five>5</five>
                        </filled>
                    </DictionaryDec>
                </Decs>");

            if (parseMode == ParseModesToTest.Default || parseMode == ParseModesToTest.Replace || parseMode == ParseModesToTest.Patch)
            {
                parser.Finish();
            }
            else
            {
                ExpectErrors(() => parser.Finish());
            }

            DoBehavior(mode);

            Assert.IsNull(Dec.Database <DictionaryDec> .Get("TestDec").empty);
            if (parseMode == ParseModesToTest.Patch || parseMode == ParseModesToTest.Append)
            {
                Assert.AreEqual(new Dictionary <string, int> {
                    { "one", 1 }, { "two", 2 }, { "three", -3 }, { "four", 4 }, { "five", 5 }
                }, Dec.Database <DictionaryDec> .Get("TestDec").filled);
            }
            else
            {
                Assert.AreEqual(new Dictionary <string, int> {
                    { "three", -3 }, { "four", 4 }, { "five", 5 }
                }, Dec.Database <DictionaryDec> .Get("TestDec").filled);
            }
        }