public void Should_Transform_SkillCategory_To_AddSkillCategoryModel()
        {
            var expected = new AddSkillCategoryModel()
            {
                Id = 1,
                DisplayPriority = 1,
                Texts           = new List <TextModel>()
                {
                    new TextModel()
                    {
                        Language = _languages[0], Value = "skc1.fr"
                    },
                    new TextModel()
                    {
                        Language = _languages[1], Value = "skc1.en"
                    }
                },
                Skills = new List <SkillModel>()
                {
                    new SkillModel()
                    {
                        KnowledgePercent = 50,
                        Texts            = new List <TextModel>()
                        {
                            new TextModel()
                            {
                                Language = _languages[0], Value = "sk1"
                            },
                            new TextModel()
                            {
                                Language = _languages[1], Value = "sk2"
                            }
                        }
                    },
                    new SkillModel()
                    {
                        KnowledgePercent = 60,
                        Texts            = new List <TextModel>()
                        {
                            new TextModel()
                            {
                                Language = _languages[0], Value = "sk3"
                            },
                            new TextModel()
                            {
                                Language = _languages[1], Value = "sk4"
                            }
                        }
                    }
                }
            };

            var act = new SkillCategory()
            {
                Id = 1,
                DisplayPriority = 1,
                Texts           = new List <Text>()
                {
                    new Text()
                    {
                        Language = _languages[0], Value = "skc1.fr"
                    },
                    new Text()
                    {
                        Language = _languages[1], Value = "skc1.en"
                    }
                },
                Skills = new List <Skill>()
                {
                    new Skill()
                    {
                        Id = 1,
                        KnowledgePercent = 50,
                        Texts            = new List <Text>()
                        {
                            new Text()
                            {
                                Language = _languages[0], Value = "sk1"
                            },
                            new Text()
                            {
                                Language = _languages[1], Value = "sk2"
                            }
                        }
                    },
                    new Skill()
                    {
                        Id = 2,
                        KnowledgePercent = 60,
                        Texts            = new List <Text>()
                        {
                            new Text()
                            {
                                Language = _languages[0], Value = "sk3"
                            },
                            new Text()
                            {
                                Language = _languages[1], Value = "sk4"
                            }
                        }
                    }
                }
            };

            var result = act.ToDto();

            Assert.AreEqual(expected.Id, result.Id);
            Assert.AreEqual(expected.DisplayPriority, result.DisplayPriority);

            AssertExtension.CompareIEnumerable(expected.Texts, result.Texts,
                                               (x, y) => x.Language == y.Language && x.Value == y.Value);

            AssertExtension.CompareIEnumerable(expected.Skills, result.Skills,
                                               (x, y) => x.KnowledgePercent == y.KnowledgePercent &&
                                               AssertExtension.CompareIEnumerable(x.Texts, y.Texts,
                                                                                  (a, b) => a.Language == b.Language && a.Value == b.Value));
        }