T UpdateFromString <T>(ref T obj, string str) { var doc = Config.LoadDocFromString(str, "ConfigReifierFacts_UpdateFromString_TestFilename"); ConfigReifier.Reify(ref obj, doc); return(obj); }
T ReifyString <T>(string str) where T : new() { var doc = Config.LoadDocFromString(str, c_filename); T tc = default(T); ConfigReifier.Reify(ref tc, doc); return(tc); }
T ReifyString <T>(string str) where T : new() { var doc = Config.LoadDocFromString(str, "ConfigReifierFacts_ReifyString_TestFilename"); T tc = default(T); ConfigReifier.Reify(ref tc, doc); return(tc); }
public void PostDoc_IsNull() { var doc = Config.LoadDocFromString("baseKey: 10", c_filename); PostDocClass2 tc = null; ConfigReifier.Reify(ref tc, doc); Assert.AreEqual(tc.baseKey, 10); }
public void FromDoc_CalledWhenReifyingEmptyList() { List <TestClass> lst = new List <TestClass>(); var doc = Config.LoadDocFromString("[[\"Base\", 451]]", c_filename); ConfigReifier.Reify(ref lst, doc); Assert.AreEqual(1, lst.Count); Assert.AreEqual(lst[0].baseKey, 451); }
public void FromDoc_CalledWhenReifyingNullClass() { TestClass tc = null; var doc = Config.LoadDocFromString("[\"Base\", 451]", c_filename); ConfigReifier.Reify(ref tc, doc); Assert.IsNotNull(tc); Assert.AreEqual(tc.baseKey, 451); }
public void RefiesCaseInsensitive_Missing() { var doc = Config.LoadDocFromString(@"--- childintkey: 32 ", "ConfigReifier_ReifiesCaseInsensitive_TestFilename"); var inst = ConfigReifier.CreateInstance <ChildStruct>(doc, ConfigOptions.AllowMissingFields); Assert.AreEqual(inst.childIntKey, 32); }
public void RefiesExtraFields_NoException() { var doc = Config.LoadDocFromString(@"--- floatKey: 1.56 ", "ConfigReifier_ReifiesExtraFields_TestFilename"); var inst = ConfigReifier.CreateInstance <TestClass>(doc, ConfigOptions.AllowMissingFields); Assert.AreEqual(inst.floatKey, 1.56f); }
public void PostDoc_CanReplaceWithReturnValue() { var doc = Config.LoadDocFromString("baseKey: 10", c_filename); PostDocClass3 tc = null; ConfigReifier.Reify(ref tc, doc); Assert.NotNull(tc); Assert.AreEqual(tc.baseKey, 99); }
public void ReifierAttributes_AllowMissingClass_OverridesOptions() { var doc = Config.LoadDocFromString(@"--- stringField: wot ", "ConfigReifier_ReifierAttributes_TestFilename"); var inst = ConfigReifier.CreateInstance <AllowMissingClass>(doc, ConfigOptions.None); Assert.AreEqual(inst.stringField, "wot"); Assert.AreEqual(inst.listField, null); }
public void ReifierAttributes_Mandatory_ExceptsIfNotSet() { var doc = Config.LoadDocFromString(@"--- AllowedMissing: derp ", "ConfigReifier_ReifierAttributes_TestFilename"); Assert.Throws <ParseException>( () => { ConfigReifier.CreateInstance <AttributesClass>(doc, ConfigOptions.AllowMissingFields); }); }
public void ReifierAttributes_AllowMissingClass_ChecksMandatoryField() { var doc = Config.LoadDocFromString(@"--- listField: [a,b] ", "ConfigReifier_ReifierAttributes_TestFilename"); Assert.Throws <ParseException>( () => { ConfigReifier.CreateInstance <AllowMissingClass>(doc, ConfigOptions.AllowMissingFields); }); }
public void ReifierAttributes_AllowMissingClass_AcceptsSetting() { var doc = Config.LoadDocFromString(@"--- stringField: hmm listField: [1] ", "ConfigReifier_ReifierAttributes_TestFilename"); var inst = ConfigReifier.CreateInstance <AllowMissingClass>(doc, ConfigOptions.None); Assert.AreEqual(inst.stringField, "hmm"); Assert.AreEqual(inst.listField[0], "1"); }
public void ReifierAttributes_MandatoryClass_OverridesOptions() { var doc = Config.LoadDocFromString(@"--- stringField: uh ", "ConfigReifier_ReifierAttributes_TestFilename"); Assert.Throws <ParseException>( () => { ConfigReifier.CreateInstance <MandatoryClass>(doc, ConfigOptions.AllowMissingFields); }); }
public void ReifiesStatic_Struct() { var doc = Config.LoadDocFromString( @"--- staticIntKey: 3049 " , "ConfigReifierFacts_ReifyString_TestFilename"); ConfigReifier.ReifyStatic <ChildStruct>(doc); Assert.AreEqual(ChildStruct.staticIntKey, 3049); }
public void ReifierAttributes_AllowedMissing_ByDefaultInClassWithMandatory() { var doc = Config.LoadDocFromString(@"--- Mandatory: 15 ", "ConfigReifier_ReifierAttributes_TestFilename"); var inst = ConfigReifier.CreateInstance <AttributesClass>(doc, ConfigOptions.AllowMissingFields); Assert.AreEqual(inst.Mandatory, 15); Assert.AreEqual(inst.AllowedMissing, "initial"); Assert.AreEqual(inst.MissingOrNotDependingOnDefault, "initial2"); }
public void ReifiesSingle_CreateSingleFieldClass() { var doc = Config.LoadDocFromString( @"--- 8342 " , "ConfigReifierFacts_ReifySingle_TestFilename"); var inst = ConfigReifier.CreateInstance <SingleFieldClass>(doc); Assert.AreEqual(inst.SingleField, 8342); }
public void ReifiesStatic_IgnoresNonStaticFields() { var doc = Config.LoadDocFromString( @"--- intKey: 10 # try to bogusly set a non-static field " , "ConfigReifierFacts_ReifyString_TestFilename"); // passes if there are no exceptions ConfigReifier.ReifyStatic <TestClass>(doc); }
public void ReifierAttributes_MandatoryClass_AllowsMissingField() { var doc = Config.LoadDocFromString(@"--- intField: 99 ", "ConfigReifier_ReifierAttributes_TestFilename"); var inst = ConfigReifier.CreateInstance <MandatoryClass>(doc, ConfigOptions.None); Assert.AreEqual(inst.intField, 99); Assert.AreEqual(inst.stringField, "initial"); Assert.AreEqual(inst.ignoreField, "initialignore"); }
public void ConfigReifier_SetFieldsOnObject_CastedObject() { var tc = (object)new TestClass(); var doc = Config.LoadDocFromString( @"--- intKey: 99077 " , "ConfigReifierFacts_ReifyString_TestFilename"); ConfigReifier.SetFieldsOnObject(ref tc, doc); Assert.AreEqual(((TestClass)tc).intKey, 99077); }
public void ConfigReifier_SetFieldsOnObject_PlainObject() { var tc = new TestClass(); var doc = Config.LoadDocFromString( @"--- intKey: 99088 " , "ConfigReifierFacts_ReifyString_TestFilename"); ConfigReifier.SetFieldsOnObject(ref tc, doc); Assert.AreEqual(tc.intKey, 99088); }
public void FromDoc_UpdatesTestClass() { var tc = new TestClass { baseKey = 15 }; var saved = tc; var doc = Config.LoadDocFromString("[\"Base\", 99]", c_filename); ConfigReifier.Reify(ref tc, doc); Assert.AreSame(tc, saved); Assert.AreEqual(tc.baseKey, 99); }
public void Reify_DocNode() { var doc = Config.LoadDocFromString(@"--- ugh: bugh ", "ConfigReifier_DocNode_TestFilename"); DocNode d = null; ConfigReifier.Reify(ref d, doc); Assert.True(d.ContainsKey("ugh")); Assert.AreEqual(d["ugh"].AsString(), "bugh"); }
public void ReifierAttributes_AllowMissingClass_DoesCheckExtraFieldsToo() { var doc = Config.LoadDocFromString(@"--- stringField: hi extra_field: 33333 ", "ConfigReifier_ReifierAttributes_TestFilename"); Assert.Throws <ParseException>( () => { ConfigReifier.CreateInstance <AllowMissingClass>(doc, ConfigOptions.AllowMissingFields); }); }
public void ReifierAttributes_MandatoryClass_AcceptsSetting() { var doc = Config.LoadDocFromString(@"--- intField: 10 stringField: uh ", "ConfigReifier_ReifierAttributes_TestFilename"); var inst = ConfigReifier.CreateInstance <MandatoryClass>(doc, ConfigOptions.None); Assert.AreEqual(inst.intField, 10); Assert.AreEqual(inst.stringField, "uh"); Assert.AreEqual(inst.ignoreField, "initialignore"); }
public void ReifierAttributes_Mandatory_AllowsSetting() { var doc = Config.LoadDocFromString(@"--- Mandatory: 10 AllowedMissing: derp ", "ConfigReifier_ReifierAttributes_TestFilename"); var inst = ConfigReifier.CreateInstance <AttributesClass>(doc); Assert.AreEqual(inst.Mandatory, 10); Assert.AreEqual(inst.AllowedMissing, "derp"); Assert.AreEqual(inst.Ignored, false); }
public void ReifiesStatic_StaticClass() { var doc = Config.LoadDocFromString( @"--- staticStringList: [herp, derp] " , "ConfigReifierFacts_ReifyString_TestFilename"); ConfigReifier.ReifyStatic(typeof(PureStatic), doc); Assert.AreEqual(PureStatic.staticStringList[0], "herp"); Assert.AreEqual(PureStatic.staticStringList[1], "derp"); }
public void RefiesMissingFields_NoException() { var doc = Config.LoadDocFromString(@"--- childIntKey: 42 childFloatKey: 1.25 staticIntKey: 332 ", "ConfigReifier_ReifiesMissingFields_TestFilename"); var inst = ConfigReifier.CreateInstance <ChildStruct>(doc, ConfigOptions.None); Assert.AreEqual(inst.childIntKey, 42); Assert.AreEqual(inst.childFloatKey, 1.25); Assert.AreEqual(ChildStruct.staticIntKey, 332); }
public void ReifierAttributes_AllowedMissing_NoExceptionIfMissing() { var doc = Config.LoadDocFromString(@"--- Mandatory: 15 MissingOrNotDependingOnDefault: true ", "ConfigReifier_ReifierAttributes_TestFilename"); var inst = ConfigReifier.CreateInstance <AttributesClass>(doc, ConfigOptions.None); Assert.AreEqual(inst.Mandatory, 15); Assert.AreEqual(inst.AllowedMissing, "initial"); Assert.AreEqual(inst.Ignored, false); Assert.AreEqual(inst.MissingOrNotDependingOnDefault, "true"); }
public void RefiesCaseInsensitive() { var doc = Config.LoadDocFromString(@"--- childintkey: 32 CHILDFLOATKEY: 11 StaticiNtKey: 5 ", "ConfigReifier_ReifiesCaseInsensitive_TestFilename"); var inst = ConfigReifier.CreateInstance <ChildStruct>(doc, ConfigOptions.None); Assert.AreEqual(inst.childIntKey, 32); Assert.AreEqual(inst.childFloatKey, 11); Assert.AreEqual(ChildStruct.staticIntKey, 5); }