public void TestDefaultContextParentWithAHashSetOfTwoChildObjectNested()
        {
            var testSkillParentObject = new SkillDocumentHastSet
            {
                Id = 1,
                NameSkillParent = "cool",
                SkillNestedDocumentLevelTwoHashSet = new HashSet <SkillNestedDocumentLevelTwo> {
                    new SkillNestedDocumentLevelTwo {
                        Id = 1, NameSkillParent = "TestHashSet"
                    }, new SkillNestedDocumentLevelTwo {
                        Id = 2, NameSkillParent = "TestHashSet2"
                    }
                }
            };

            using (var context = new ElasticsearchContext(ConnectionString, _elasticsearchMappingResolver))
            {
                context.TraceProvider = new ConsoleTraceProvider();
                context.AddUpdateDocument(testSkillParentObject, testSkillParentObject.Id);

                // Save to Elasticsearch
                var ret = context.SaveChanges();
                Assert.Equal(ret.Status, HttpStatusCode.OK);

                var roundTripResult = context.GetDocument <SkillDocumentHastSet>(testSkillParentObject.Id);
                Assert.Equal(roundTripResult.NameSkillParent, testSkillParentObject.NameSkillParent);
                Assert.Equal(roundTripResult.SkillNestedDocumentLevelTwoHashSet.First().NameSkillParent, testSkillParentObject.SkillNestedDocumentLevelTwoHashSet.First().NameSkillParent);
                Assert.Equal(roundTripResult.SkillNestedDocumentLevelTwoHashSet.Single(t => t.Id == 2).NameSkillParent, testSkillParentObject.SkillNestedDocumentLevelTwoHashSet.Single(t => t.Id == 2).NameSkillParent);
            }
        }
        public void TestDefaultContextParentWithANullHashSetOfChildObjectNested()
        {
            var testSkillParentObject = new SkillDocumentHastSet
            {
                Id = 1,
                NameSkillParent = "cool",
            };

            using (var context = new ElasticsearchContext(ConnectionString, _elasticsearchMappingResolver))
            {
                context.TraceProvider = new ConsoleTraceProvider();
                context.AddUpdateDocument(testSkillParentObject, testSkillParentObject.Id);

                // Save to Elasticsearch
                var ret = context.SaveChanges();
                Assert.Equal(ret.Status, HttpStatusCode.OK);

                var roundTripResult = context.GetDocument <SkillDocumentHastSet>(testSkillParentObject.Id);
                Assert.Equal(roundTripResult.NameSkillParent, testSkillParentObject.NameSkillParent);
            }
        }