Example #1
0
        public Target CreateTarget(Wing wing, Guid guid, Type type, bool isTrendingEnabled, int displayOrder)
        {
            var result = TargetRepository.New(wing, guid, this.Name);

            result.Description       = this.Description;
            result.ClrType           = type.AssemblyQualifiedName;
            result.IsReferenceTarget = this.IsReferenceTarget;
            result.DisplayOrder      = displayOrder;
            result.IsDisabled        = false;
            result.Publisher         = this.PublisherName ?? "Unknown";
            result.PublisherEmail    = this.PublisherEmail ?? "";
            result.PublisherWebsite  = this.PublisherWebsite ?? "";
            result.IsTrendingEnabled = isTrendingEnabled;
            var assemblyVersion = type.Assembly.GetName().Version;

            result.Version = new Version
            {
                Major     = assemblyVersion.Major,
                Minor     = assemblyVersion.Minor,
                Milestone = assemblyVersion.Revision
                            //Number = string.Format("{0}.{1}.{2}", assemblyVersion.Major, assemblyVersion.Minor,
                            //                       assemblyVersion.Revision)
            };
            return(result);
        }
        public void ApplyValueTestPositive()
        {
            var target    = new FooTarget();
            var targetDef = TargetRepository.New(DoubleFactory.DummyWing, Guid.Empty, "FooTarget");
            var element   = DoubleFactory.CreateElementDouble(targetDef, "SomeInt");

            var model = new ElementMappingModel <FooTarget>(element, Enumerable.Empty <CrosswalkViewModel>());

            model.ApplyValue(target, 100);
            Assert.AreEqual(target.SomeInt, 100);
        }
        public void ApplyValueStringToIntTest()
        {
            var target    = new FooTarget();
            var targetDef = TargetRepository.New(DoubleFactory.DummyWing, Guid.Empty, "FooTarget");
            var element   = DoubleFactory.CreateElementDouble(targetDef, "SomeInt");

            var    expected      = 123;
            string ValueToAssign = expected.ToString();
            var    model         = new ElementMappingModel <FooTarget>(element, Enumerable.Empty <CrosswalkViewModel>());

            model.ApplyValue(target, ValueToAssign);
            Assert.AreEqual(expected, target.SomeInt);
        }
        public void ApplyValueTestWrongType()
        {
            var target    = new FooTarget();
            var targetDef = TargetRepository.New(DoubleFactory.DummyWing, Guid.Empty, "FooTarget");
            var element   = DoubleFactory.CreateElementDouble(targetDef, "SomeInt");

            string expected = "zzzzzzzzzzzzzzz";
            var    model    = new ElementMappingModel <FooTarget>(element, Enumerable.Empty <CrosswalkViewModel>());

            // a string is assigned, so test that it's not equal to the SomeInt property
            model.ApplyValue(target, expected);
            Assert.AreNotEqual(expected, target.SomeInt);
        }
        public void ApplyValueStringToDoubleIntoIntTest()
        {
            var target    = new FooTarget();
            var targetDef = TargetRepository.New(DoubleFactory.DummyWing, Guid.Empty, "FooTarget");
            var element   = DoubleFactory.CreateElementDouble(targetDef, "SomeInt");

            var    expected      = 123.45;
            string ValueToAssign = expected.ToString();

            var model = new ElementMappingModel <FooTarget>(element, Enumerable.Empty <CrosswalkViewModel>());

            // a string is assigned, so test that it's not equal to the SomeInt property
            model.ApplyValue(target, ValueToAssign);
            Assert.AreNotEqual((int)expected, target.SomeInt);
        }
        public void TestWarnings()
        {
            var wing        = WingRepository.New(Guid.NewGuid().ToString());
            var target      = TargetRepository.New(wing, Guid.Empty, Guid.NewGuid().ToString());
            var mapper      = new TargetMapper <FooTarget>(target, Enumerable.Empty <MappedFieldEntryViewModel>());
            var po          = new PrivateObject(mapper);
            var ElementMaps = po.GetProperty("ElementMaps") as IDictionary;

            Assert.IsTrue(ElementMaps.Count > 0);

            var errors = new List <ValidationError>();
            var engine = new InstanceValidator <FooTarget>();
            var result = engine.ValidateInstance(mapper.Target);

            Assert.IsTrue(result.PropertyWarnings.Count > 0);
        }
        public void ApplyValueScopeTest()
        {
            // given an element with name "SomeEnum"
            var target    = new FooTarget();
            var targetDef = TargetRepository.New(DoubleFactory.DummyWing, Guid.Empty, "FooTarget");

            var element = DoubleFactory.CreateElementDouble(targetDef, "SomeEnum");

            // find that property on target

            var model = new ElementMappingModel <FooTarget>(element, Enumerable.Empty <CrosswalkViewModel>());

            // set target's SomeEnum property value to "Something.value3"
            model.ApplyValue(target, Something.value3);
            Assert.AreEqual(target.SomeEnum, Something.value3);
        }
        public void GenericApplyValueStringToDoubleIntoIntTest()
        {
            var target    = new FooTarget();
            var targetDef = TargetRepository.New(DoubleFactory.DummyWing, Guid.Empty, "FooTarget");
            var element   = DoubleFactory.CreateElementDouble(targetDef, "SomeInt");

            var    expected      = 123.45;
            string ValueToAssign = expected.ToString();
            var    type          = typeof(ElementMappingModel <>);

            type = type.MakeGenericType(typeof(FooTarget));
            var ctor  = type.GetConstructor(new[] { typeof(Element), typeof(IEnumerable <CrosswalkViewModel>) });
            var model = ctor.Invoke(new object[] { element, Enumerable.Empty <CrosswalkViewModel>() });
            var pi    = type.GetMethod("ApplyValue");

            // a string is assigned, so test that it's not equal to the SomeInt property
            pi.Invoke(model, new object[] { target, ValueToAssign });
            Assert.AreNotEqual((int)expected, target.SomeInt);
        }
Example #9
0
        public static Target CreateTarget(
            this DynamicTarget target, Wing wing)
        {
            var result = TargetRepository.New(wing, target.Id, target.Name);

            if (result.Guid == Guid.Empty)
            {
                result.Guid = Guid.NewGuid();
            }

            result.Description          = target.Description;
            result.ClrType              = null;
            result.IsReferenceTarget    = false;
            result.DisplayOrder         = target.DisplayOrder;
            result.IsCustom             = true;
            result.DbSchemaName         = target.DbSchemaName;
            result.CreateSqlScript      = target.CreateTableScript;
            result.ImportSQLScript      = target.ImportSQLScript;
            result.AddMeausersSqlScript = target.AddMeasuresScript;
            result.AddReportsSqlScript  = target.AddReportsScript;
            result.AllowMultipleImports = target.AllowMultipleImports;
            result.ImportType           = target.ImportSteps.Type;

            result.Publisher        = target.Publisher;
            result.PublisherEmail   = target.PublisherEmail;
            result.PublisherWebsite = target.PublisherWebsite;
            result.Version          = new Version {
                Number = target.Version
            };
            result.IsDisabled            = target.IsDisabled;
            result.WingTargetXmlFilePath = target.WingTargetXmlFilePath;
            result.TemplateFileName      = target.TempateFileName;

            if (wing.Targets.All(t => t.Guid != result.Guid || !t.Name.EqualsIgnoreCase(result.Name)))
            {
                wing.Targets.Add(result);
            }

            return(result);
        }