Example #1
0
        public void Extract(IControl control)
        {
            var name = string.IsNullOrWhiteSpace(ComponentName) ? Name : Name + "|" + ComponentName;

            if (!AutoValues.TryGetValue(name, out var value))
            {
                value = new AutoValue
                {
                    Name = name,
                };
                AutoValues.Add(name, value);
            }

            value.ControlUniqueId     = control.ControlUniqueId;
            control.ControlUniqueId   = null;
            value.PublishOrderIndex   = control.PublishOrderIndex.GetValueOrDefault();
            control.PublishOrderIndex = null;

            if (control.Template.Id == @"http://microsoft.com/appmagic/Component")
            {
                // Only remove version for Templates.
                value.TemplateLastModified                    = control.Template.LastModifiedTimestamp;
                control.Template.LastModifiedTimestamp        = null;
                value.TemplateComponentDefinitionLastModified = control.Template.ComponentDefinitionInfo.LastModifiedTimestamp;
                control.Template.ComponentDefinitionInfo.LastModifiedTimestamp = null;
                value.TemplateVersion    = control.Template.Version;
                control.Template.Version = null;
            }
        }
Example #2
0
        public bool Extract(Rule rule)
        {
            if (!JsRulesHandled.Contains(rule.Property))
            {
                return(false);
            }

            if (!AutoValues.TryGetValue(Name, out var value))
            {
                value = new AutoValue
                {
                    Name = Name,
                };
                AutoValues.Add(Name, value);
            }

            switch (rule.Property)
            {
            case "ZIndex":
                value.ZIndex = rule.InvariantScript;
                break;

            default:
                throw new Exception($"Rule Property {rule.Property} not defined for AutoValueExtractor.Extract");
            }

            rule.InvariantScript = "AutoValue";
            return(true);
        }
Example #3
0
        public void TestGetRandomInteger()
        {
            var value = AutoValue.Random <int>();

            for (int i = 0; i < 1000; ++i)
            {
                var result = value.Value;
            }
        }
Example #4
0
        public void TestGetSeqInteger(int initial, int from, int to, int step, bool loop, int expected)
        {
            var value   = AutoValue.Seq(initial, from, to, step, loop);
            var result1 = value.Value;
            var result2 = value.Value;

            Assert.AreEqual(initial, result1);
            Assert.AreEqual(expected, result2);
        }
Example #5
0
        public void TestGetRandomULong()
        {
            var value = AutoValue.Random <ulong>();

            for (int i = 0; i < 1000; ++i)
            {
                var result = value.Value;
            }
        }
Example #6
0
        public void TestGetRandomIntegerInRange([Random(0, 100, 10)] int min, [Random(101, 200, 10)] int max)
        {
            var value = AutoValue.Random <int>(min, max);

            for (int i = 0; i < 1000; ++i)
            {
                var result = value.Value;
                Assert.That(() => result >= min && result < max, $"{result} should be between {min} and {max}");
            }
        }
        public void Test2InParams()
        {
            var value = AutoValue.Random(0, 1000);

            for (int i = 0; i < 100; ++i)
            {
                int v           = value;
                var stringValue = $"({v})";

                var func = Funcs.MakeResult <string, NumberStyles, IFormatProvider, int>(int.TryParse);

                var success = func(stringValue, NumberStyles.AllowParentheses, CultureInfo.InvariantCulture);
                var fail    = func(stringValue, 0, CultureInfo.InvariantCulture);

                Assert.IsTrue(success.IsSucceed, "success.IsSucceed");
                Assert.IsTrue(fail.IsFailed, "fail.IsFailed");

                Assert.AreEqual(-v, success.Value);
            }
        }
        public void Test1InParam()
        {
            var value = AutoValue.Random <int>();

            for (int i = 0; i < 100; ++i)
            {
                int v = value;
                var validStringValue   = v.ToString();
                var invalidStringValue = "//" + validStringValue;

                var func = Funcs.MakeResult <string, int>(int.TryParse);

                var success = func(validStringValue);
                var fail    = func(invalidStringValue);

                Assert.IsTrue(success.IsSucceed, "success.IsSucceed");
                Assert.IsTrue(fail.IsFailed, "fail.IsFailed");

                Assert.AreEqual(v, success.Value);
            }
        }