public async Task ShouldUseBaseValueWhenConflict() { //Arrange var doc = ConfigDocument.Load(SrcConfig); var includeProvider = new TestIncludeProvider(IncludeSimple); //Act await doc.ApplyIncludes(includeProvider); var res = TestModel.Create(doc); //Assert Assert.Equal("from-base-val", res.IncludeConflict); }
public async Task ShouldResolveIncludes() { //Arrange var doc = ConfigDocument.Load(SrcConfig); var includeProvider = new TestIncludeProvider(IncludeSimple); //Act await doc.ApplyIncludes(includeProvider); var res = TestModel.Create(doc); //Assert Assert.Equal("from-include-val", res.Included); }
public void ShouldOverrideSubElements() { //Arrange var originDoc = ConfigDocument.Load(SrcConfig); var overrideDoc = ConfigDocument.Load(OverrideConfig); var overrides = overrideDoc.CreateOverrides(); //Act originDoc.ApplyOverrides(overrides); var res = TestModel.Create(originDoc); //Assert Assert.Equal("NewBarVal", res.InnerObject.Bar); }
public void ShouldOverride() { //Arrange var originDoc = ConfigDocument.Load(SrcConfig); var overrideDoc = ConfigDocument.Load(OverrideConfig); var overrides = overrideDoc.CreateOverrides(); //Act originDoc.ApplyOverrides(overrides); var res = TestModel.Create(originDoc); //Assert Assert.Equal("NewVal", res.ParamForOverride); }
public async Task ShouldIncludeOneItemArray() { //Arrange const string includeArray = "{" + "\"IncludedArray\":[\"foo\"]," + "\"IncludeConflict\":\"from-include-val\"" + "}"; var doc = ConfigDocument.Load(SrcConfig); var includeProvider = new TestIncludeProvider(includeArray); //Act await doc.ApplyIncludes(includeProvider); var res = TestModel.Create(doc); //Assert Assert.NotNull(res.IncludedArray); Assert.Single(res.IncludedArray); Assert.Equal("foo", res.IncludedArray[0]); }