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; } }
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); }
public void TestGetRandomInteger() { var value = AutoValue.Random <int>(); for (int i = 0; i < 1000; ++i) { var result = value.Value; } }
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); }
public void TestGetRandomULong() { var value = AutoValue.Random <ulong>(); for (int i = 0; i < 1000; ++i) { var result = value.Value; } }
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); } }