コード例 #1
0
        protected override bool OnInvoke(IEnumerable <string> extras)
        {
            StreamWriter writer = null;

            try
            {
                var outputWriter = string.IsNullOrWhiteSpace(OutputPath)
                                        ? Console.Out
                                        : (writer = new StreamWriter(OutputPath));

                var generator = new MappingGenerator
                {
                    OverridesPath   = OverrideMapping,
                    JavaMappingPath = JavaTypeMapping,
                    IncludeWarnings = !ExcludeWarnings,
                    Verbose         = Program.Verbose,
                };
                generator.Generate(AndroidSupportAssembly, AndroidXAssembly, outputWriter);
            }
            finally
            {
                writer?.Dispose();
            }

            return(true);
        }
コード例 #2
0
        public void TestMapping_MustMapObject_AssertProperties()
        {
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Source, Destination>();

            var expected = new Source()
            {
                ArrayField = new[] { 1.1, 2.2, 3.3 },
                IntField   = 42,
                ListField  = new List <int>()
                {
                    1, 2, 3
                },
                SourceSpecificField = -1,
                StringField         = "string"
            };

            var actual = mapper.Map(expected);

            Assert.True(expected.ArrayField.SequenceEqual(expected.ArrayField));
            //Assert.NotSame(expected.ArrayField, actual.ArrayField);
            Assert.Equal(expected.IntField, actual.IntField);
            Assert.Same(expected.ListField, actual.ListField);
            Assert.Equal(expected.StringField, actual.StringField);

            Assert.NotEqual(expected.SourceSpecificField, actual.DestinationSpecificField);
        }
コード例 #3
0
        public void TestMethod1()
        {
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Foo, Bar>();

            var res = mapper.Map(new Foo());
        }
コード例 #4
0
        public void Get_Success()
        {
            //Arrange
            var modelToMirror       = MappingGenerator.Create <BaseTest, BaseTestMirror>("Mirror", AcessibilityLevelEnum.@internal);
            var mirrorToModel       = modelToMirror.GetReverse("Model");
            var mirrorToModelPublic = modelToMirror.GetReverse("ModelPublic", AcessibilityLevelEnum.@public);
            var dir1 = Path.Combine(Directory.GetCurrentDirectory(), "output\\MirrorMappings\\");
            var dir2 = Path.Combine(Directory.GetCurrentDirectory(), "output\\ModelMappings\\");
            var dir3 = Path.Combine(Directory.GetCurrentDirectory(), "output\\ModelPublicMappings\\");

            if (Directory.Exists(dir1))
            {
                Directory.Delete(dir1, true);
            }
            if (Directory.Exists(dir2))
            {
                Directory.Delete(dir2, true);
            }
            if (Directory.Exists(dir3))
            {
                Directory.Delete(dir3, true);
            }

            //Act
            var result1 = modelToMirror.Generate();
            var result2 = mirrorToModel.Generate();
            var result3 = mirrorToModelPublic.Generate();

            //Assert
            AssertDirectory(result1);
            AssertDirectory(result2);
            AssertDirectory(result3);
        }
コード例 #5
0
        public void CanRunGenerator()
        {
            MappingGenerator gen = new MappingGenerator();

            gen.Configure(XmlReader.Create(Assembly.GetExecutingAssembly().GetManifestResourceStream("NHibernate.Tool.hbm2net.Tests.Db2hbmConfigTemplate.xml")));
            gen.Generate(new StdoutStreamProvider());
        }
コード例 #6
0
 public MapperTests()
 {
     _mappingGenerator = new MappingGenerator();
     _user             = new UserBLL {
         Id = 10, FirstName = "Dipper", LastName = "Pines", Age = 14
     };
 }
コード例 #7
0
        public void TestNotNull()
        {
            MappingGenerator mapGenerator = new MappingGenerator();
            Bar bar = mapGenerator.Generate <Foo, Bar>().Map(new Foo());

            Assert.IsNotNull(bar);
            Console.WriteLine(bar);
        }
コード例 #8
0
        public void UserBugNullRererenceWhenSmallIntIsKey()
        {
            CreateDbFromSchema("NHibernate.Tool.hbm2net.Tests.Schemas.UserBugNullRererenceWhenSmallIntIsKey.sql");
            MappingGenerator gen = new MappingGenerator();

            gen.Configure(XmlReader.Create(Assembly.GetExecutingAssembly().GetManifestResourceStream("NHibernate.Tool.hbm2net.Tests.UserBugNullReferenceWhenSmallIntIsAKey.xml")));
            gen.Generate(new StdoutStreamProvider());
        }
コード例 #9
0
        public void TestValueMapping()
        {
            MappingGenerator mapGenerator = new MappingGenerator();
            Bar bar = mapGenerator.Generate <Foo, Bar>().CopyParam(f => f.FooIntProp, b => b.BarIntProp).Map(new Foo());

            Assert.IsTrue(bar.BarIntProp == 1234);
            Console.WriteLine(bar);
            Console.WriteLine(bar.BarIntProp);
        }
コード例 #10
0
        public void TestRefMapping()
        {
            MappingGenerator mapGenerator = new MappingGenerator();
            Bar bar = mapGenerator.Generate <Foo, Bar>().CopyParam(f => f.FooStringProp, b => b.BarStringProp).Map(new Foo());

            Assert.IsTrue(bar.BarStringProp == "test");
            Console.WriteLine(bar);
            Console.WriteLine(bar.BarStringProp);
        }
コード例 #11
0
        public void GenerateTest()
        {
            var dest         = new MappingGenerator().Generate <ClassA, ClassB>();
            var classA       = new ClassA();
            var mappedClassB = dest(classA);

            Assert.AreEqual(mappedClassB.Name, classA.Name);
            Assert.AreEqual(mappedClassB.DateTime, classA.DateTime);
            Assert.AreEqual(mappedClassB.DataSize, classA.DataSize);
        }
コード例 #12
0
 protected MapperGenerator(ITestOutputHelper output)
 {
     this.output           = output;
     this.generatedCode    = new StringBuilder();
     this.diagnosticLogger = new StringBuilder();
     this.codeGenerator    = new MappingGenerator
     {
         DiagnosticLogging         = l => this.diagnosticLogger.AppendLine(l),
         EmitWithInternalAccessors = true,
     };
 }
コード例 #13
0
        static void Main()
        {
            var mapGenerator = new MappingGenerator();
            var foo          = new Foo {
                A = 5, B = "Alla", C = 64
            };

            var mapper = mapGenerator.Generate <Foo, Bar>();

            var res = mapper.Map(foo);
        }
コード例 #14
0
        public void AdventureWorksIntegrationTest()
        {
            MappingGenerator gen = new MappingGenerator();

            gen.Configure(XmlReader.Create(Assembly.GetExecutingAssembly().GetManifestResourceStream("NHibernate.Tool.hbm2net.Tests.Db2hbmTestAdventureWorks.xml")));
            internalStreams.Clear(); // clear all generated files...
            gen.Generate(this);
            foreach (var stream in internalStreams)
            {
                Console.WriteLine(stream.Key + ":");
                Console.WriteLine(stream.Value);
            }
        }
コード例 #15
0
        public void MapPropertiesTest()
        {
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Foo, Bar>();

            var foo = new Foo {
                Value1 = "Foo1", Value2 = "Foo2"
            };
            var bar = mapper.Map(foo);

            Assert.AreEqual(foo.Value1, bar.Value1);
            Assert.AreEqual(foo.Value2, bar.Value2);
            Assert.AreEqual(foo.Value3, bar.Value3);
        }
コード例 #16
0
        public void MapSourceToDestination()
        {
            SourceType       srcTypeInstance            = new SourceType("Ivan", 21, true, new SomeType());
            MappingGenerator mappingGenerator           = new MappingGenerator();
            Mapper <SourceType, DestinationType> mapper = mappingGenerator.Generate <SourceType, DestinationType>();

            DestinationType destTypeInstance = mapper.Map(srcTypeInstance);

            Assert.IsNotNull(destTypeInstance);
            Assert.AreEqual(srcTypeInstance.Name, destTypeInstance.Name);
            Assert.AreNotEqual(srcTypeInstance.IsActive, destTypeInstance.IsNotActive);
            Assert.AreNotEqual(srcTypeInstance.Id, destTypeInstance.Id);
            Assert.AreEqual(srcTypeInstance.Title, destTypeInstance.Title);
        }
コード例 #17
0
        public void MapDestinationToSource()
        {
            DestinationType  destTypeInstance           = new DestinationType("John", 1, true, new SomeType());
            MappingGenerator mappingGenerator           = new MappingGenerator();
            Mapper <DestinationType, SourceType> mapper = mappingGenerator.Generate <DestinationType, SourceType>();

            SourceType srcTypeInstance = mapper.Map(destTypeInstance);

            Assert.IsNotNull(srcTypeInstance);
            Assert.AreEqual(destTypeInstance.Name, srcTypeInstance.Name);
            Assert.AreNotEqual(destTypeInstance.IsNotActive, srcTypeInstance.IsActive);
            Assert.AreNotEqual(destTypeInstance.Id, srcTypeInstance.Id);
            Assert.AreEqual(destTypeInstance.Title, srcTypeInstance.Title);
        }
コード例 #18
0
        public void Map()
        {
            MappingGenerator  mapGenerator = new MappingGenerator();
            Mapper <Foo, Bar> mapper       = mapGenerator.Generate <Foo, Bar>();
            Foo foo = new Foo
            {
                Name = "Jesse",
                Age  = 23
            };

            Bar bar = mapper.Map(foo);

            Assert.AreEqual(foo.Name, bar.Name);
            Assert.AreEqual(foo.Age, bar.Age);
        }
コード例 #19
0
        public void Map()
        {
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Foo, Bar>();

            Foo foo = new Foo()
            {
                HowOldYouOnTracker = 2, DoYouLikeWorkOnAProject = false, Why = "Special thanks to Dan Paladino, to new method of work and to great help desk team.. oh sorry, ignore desk team.."
            };
            Bar bar = mapper.Map(foo);

            Assert.AreEqual(foo.HowOldYouOnTracker, bar.HowOldYouOnTracker);
            Assert.AreEqual(foo.DoYouLikeWorkOnAProject, bar.DoYouLikeWorkOnAProject);
            Assert.AreEqual(foo.Why, bar.Why);
        }
コード例 #20
0
ファイル: Taskt2Test.cs プロジェクト: VladrSp/education-tasks
        public void MappingIsNullBeerItemTest()
        {
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Food, Bar>();
            var food         = new Food {
                Id = 1, Name = null
            };
            var res = mapper.Map(food);

            Assert.IsNotNull(res);
            Assert.IsInstanceOfType(res, typeof(Bar));
            Assert.AreEqual(food.Id, res.Id);
            Assert.AreEqual(food.Name, res.Name);

            Assert.IsNull(food.BeerItem);
        }
コード例 #21
0
        public void Run()
        {
            Console.Clear();
            Console.WriteLine("task 2");
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Foo, Bar>();
            var source       = new Foo()
            {
                Name = "alex", Value = 5
            };
            var res = mapper.Map(source);

            Console.WriteLine($"{source.GetType().Name}: Name = {source.Name}; Value = {source.Value}");
            Console.WriteLine($"{res.GetType().Name}: Name = {res.Name}; Value = {res.Value}");
            Console.ReadKey();
        }
コード例 #22
0
        public void JustProperties()
        {
            string hbm = "JustProperties.hbm.xml";

            TestHelper.BuildAssemblyFromHbm("NHibernate.DomainModel", hbm);
            MappingGenerator gen = new MappingGenerator();

            gen.Configure(XmlReader.Create(Assembly.GetExecutingAssembly().GetManifestResourceStream("NHibernate.Tool.hbm2net.Tests.Db2hbmTest1.xml")));
            string schema = GetSchemaForMSSql(hbm);

            Console.WriteLine("Generated Schema:");
            Console.Write(schema);
            internalStreams.Clear(); // clear all generated files...
            gen.Generate(this);
            Assert.IsTrue(internalStreams.ContainsKey("Simple"));
            CheckXmlMapping(hbm, "Simple");
        }
コード例 #23
0
        static void Main(string[] args)
        {
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <CarEntity, CarModel>();

            var carnEntity = new CarEntity
            {
                Id   = 56,
                Name = "Chevy Camaro 1968"
            };

            CarModel res = mapper.Map(carnEntity);

            Console.WriteLine($"Id: {res.Id} Name: { res.Name}");

            Console.ReadLine();
        }
コード例 #24
0
        static void Main(string[] args)
        {
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Create <Person, PersonVM>()
                               .ForMember(from => from.Age, to => to.NumberOfYears)
                               .ForMember(from => from.Name, to => to.FirstName);

            Person person = new Person()
            {
                Age       = 22,
                IsStudent = true,
                Name      = "Jessika",
                Surname   = "White"
            };

            var personVM = mapper.Map(person);
        }
コード例 #25
0
        public void TestMethod3()
        {
            Dictionary <string, string> mapping = new Dictionary <string, string>
            {
                ["FirstName"] = "Name",
                ["LastName"]  = "Surname"
            };
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Foo, Bar>(new Foo
            {
                FirstName = "Alex",
                LastName  = "Ivanov"
            }, mapping);
            var res = mapper.Map(new Foo());

            Console.WriteLine(res);
        }
コード例 #26
0
 public ApplicationController(ApplicationPreferences applicationPreferences, Table table)
 {
     this.applicationPreferences = applicationPreferences;
     codeGenerator     = new CodeGenerator(applicationPreferences, table);
     fluentGenerator   = new FluentGenerator(applicationPreferences, table);
     castleGenerator   = new CastleGenerator(applicationPreferences, table);
     contractGenerator = new ContractGenerator(applicationPreferences, table);
     byCodeGenerator   = new ByCodeGenerator(applicationPreferences, table);
     if (applicationPreferences.ServerType == ServerType.Oracle)
     {
         mappingGenerator = new OracleMappingGenerator(applicationPreferences, table);
     }
     else
     {
         mappingGenerator = new SqlMappingGenerator(applicationPreferences, table);
     }
 }
コード例 #27
0
        public void TestMethod1()
        {
            // Arrange
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Foo, Bar>();
            var foo          = new Foo {
                SomeInt = 1, SomeString = "Some string"
            };

            // Act
            var res = mapper.Map(foo);

            // Assert
            Assert.IsNotNull(res);
            Assert.IsNotNull(foo);
            Assert.AreEqual(foo.SomeInt, res.SomeInt);
            Assert.AreEqual(foo.SomeString, res.SomeString);
        }
コード例 #28
0
        public void Obj_Can_Be_Mapped()
        {
            // Arrange
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Foo, Bar>();

            // Act
            var expectedFoo = new Foo {
                FirstProp = double.MinValue, SecondProp = string.Empty, ThirdProp = new Guid()
            };
            var actualBar = mapper.Map(expectedFoo);

            // Assert
            Assert.AreEqual(expectedFoo.FirstProp, actualBar.FirstProp);
            Assert.AreEqual(expectedFoo.SecondProp, actualBar.SecondProp);
            Assert.AreEqual(expectedFoo.ThirdProp, actualBar.ThirdProp);
            Assert.AreEqual(expectedFoo.Get(), actualBar.Get());
        }
コード例 #29
0
        public void TestMethod1()
        {
            var mapGenerator = new MappingGenerator();
            var mapper       = mapGenerator.Generate <Foo, Bar>();

            var foo = new Foo
            {
                Name        = "Foo",
                Description = "Description of Foo",
                Price       = 10.99,
                Quantity    = 100
            };

            var bar = mapper.Map(foo);

            Assert.AreEqual(foo.Name, bar.Name);
            Assert.AreEqual((int)foo.Price, bar.Price);
            Assert.AreEqual(foo.Quantity, bar.Quantity);
        }
コード例 #30
0
        public void Map_MapsOneClassToAnother()
        {
            const int    expectedAge  = 20;
            const string expectedName = "Cool Foo";
            var          mapGenerator = new MappingGenerator();
            var          mapper       = mapGenerator.Generate <Foo, Bar>();

            var result = mapper.Map(new Foo()
            {
                Age    = expectedAge,
                IsCool = true,
                Name   = expectedName
            });

            Assert.IsNotNull(result, "Result should not be null!");
            Assert.IsInstanceOf <Bar>(result, "Result should be a Bar!");
            Assert.AreEqual(expectedAge, result.Age, "Age should be 20!");
            Assert.AreEqual(expectedName, result.Name, string.Format("Name should be: '{0}'", expectedName));
        }
コード例 #31
0
ファイル: Program.cs プロジェクト: spib/nhcontrib
 public static void Main(string[] args)
 {
     XmlConfigurator.Configure();
     ILog logger = LogManager.GetLogger("db2hbm");
     Db2hbmParameters parms = new Db2hbmParameters(args);
     try
     {
         parms.Parse();
         MappingGenerator gen = new MappingGenerator();
         if (File.Exists(parms.ConfigFile))
         {
             using (var reader = XmlReader.Create(new StreamReader(parms.ConfigFile)))
             {
                 gen.Configure(reader);
             }
             if (!Directory.Exists(parms.OutputDir))
             {
                 Directory.CreateDirectory(parms.OutputDir);
             }
             using (var sp = new StreamProvider(parms.OutputDir))
             {
                 gen.Generate(sp);
             }
         }
         else
         {
             throw new FileNotFoundException(parms.ConfigFile);
         }
     }
     catch (NotEnougthParametersException)
     {
         System.Console.Error.WriteLine("Use: db2hbm" + parms.GetShortHelp());
         System.Console.Error.WriteLine(parms.GetHelp());
     }
     catch (Exception e)
     {
         logger.Error("Fatal error", e);
     }
 }