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); }
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); }