public void RunTestCode(string basepath) { string xml = basepath + "test/testxml/community_answer_library.xml"; XmlDocument doc = new XmlDocument(); doc.Load(xml); XmlNode root = doc.LastChild; AnswerLibrary data = new AnswerLibrary(); if (!data.Parse(root)) { Console.WriteLine("解析{0}失败", xml); return; } //写入bytes文件 byte[] b = GenericBuilder.GenericsEncode(data); FileStream fs = File.Create("community_answer_library.bytes"); fs.Write(b, 0, b.Length); fs.Close(); //dump内容 AnswerLibrary d = GenericParser.GenericsDecode <AnswerLibrary>(b); string s = GenericDump.Dump(d); fs = File.Create("community_answer_library.txt"); StreamWriter sw = new StreamWriter(fs); sw.WriteLine(s); sw.Close(); fs.Close(); }
public void RunTestCode(string basepath) { string xml = basepath + "test/testxml/home_config.xml"; XmlDocument doc = new XmlDocument(); doc.Load(xml); XmlNode root = doc.LastChild; HomeConfig data = new HomeConfig(); if (!data.Parse(root)) { Console.WriteLine("解析{0}失败", xml); return; } //写入bytes文件 byte[] b = GenericBuilder.GenericsEncode(data); FileStream fs = File.Create("home_config.bytes"); fs.Write(b, 0, b.Length); fs.Close(); //dump内容 HomeConfig d = GenericParser.GenericsDecode <HomeConfig>(b); string s = GenericDump.Dump(d); fs = File.Create("home_config.txt"); StreamWriter sw = new StreamWriter(fs); sw.WriteLine(s); sw.Close(); fs.Close(); }
/// <summary> /// 为此函数构建泛型 /// <para>构造函数无泛型参数</para> /// </summary> /// <param name="builder">泛型构建器</param> /// <returns></returns> public virtual TBuilder WithGeneric(Func <GenericTemplate <GenericBuilder>, GenericTemplate <GenericBuilder> > builder) { GenericBuilder generic = new GenericBuilder(); _member.GenericParams = builder.Invoke(generic).GetBuilder(); return(_TBuilder); }
/// <summary> /// 为此函数构建泛型 /// <para>构造函数无泛型参数</para> /// </summary> /// <param name="paramList">泛型参数</param> /// <param name="constraintList">泛型参数约束</param> /// <param name="builder">构建器</param> /// <returns></returns> public virtual TBuilder WithGeneric(string paramList, string constraintList, out GenericBuilder builder) { var generic = GenericBuilder.WithFromCode(paramList, constraintList); _member.GenericParams = generic; builder = generic; return(_TBuilder); }
public void It_ShouldNotAddPropertyToBuilderPatches_WhenPropIsInvalid() { var sut = new GenericBuilder <TestHelperClass>(new TestHelperClass()); sut.WithValue(x => x.Prop2 == 54, false); ((IGenericBuilder <TestHelperClass>)sut).Patches.Should().BeEmpty(); }
/// <summary> /// 为此函数构建泛型 /// <para>构造函数无泛型参数</para> /// </summary> /// <param name="builder">泛型构建器</param> /// <returns></returns> public virtual TBuilder WithGeneric(Action <GenericTemplate <GenericBuilder> > builder) { GenericBuilder generic = new GenericBuilder(); builder.Invoke(generic); _member.GenericParams = generic; return(_TBuilder); }
public void It_ShouldAddPropertyToBuilderPatches() { var expected = new Operation <TestHelperClass>("replace", "/Prop1", null, "new value"); var sut = new GenericBuilder <TestHelperClass>(new TestHelperClass()); sut.WithValue(x => x.Prop1, "new value"); ((IGenericBuilder <TestHelperClass>)sut).Patches.Should().BeEquivalentTo(expected); }
public void It_ShouldBuildAfterAddingValuesAndReset() { var expected = new TestHelperClass { Prop2 = 54 }; var sut = new GenericBuilder <TestHelperClass>(new TestHelperClass { Prop2 = 54 }); sut.WithValue(x => x.Prop1, "some value") .WithValue(x => x.Prop3, true) .Reset(); sut.Build().Should().BeEquivalentTo(expected); }
public void It_ShouldCreateBuilderOutOfFuncOfModel() { Func <TestHelperClass> myClassGetter = () => new TestHelperClass { Prop1 = "some value", Prop2 = 54, Prop3 = true }; var expected = new TestHelperClass { Prop1 = "some value", Prop2 = 54, Prop3 = true }; GenericBuilder <TestHelperClass> result = myClassGetter.AsBuilder(); result.Build().Should().BeEquivalentTo(expected); }
public static GenericBuilder <T> WithValue <T, TValue>(this GenericBuilder <T> builder, Expression <Func <T, TValue> > property, TValue value) where T : class { if (!IsValidProperty(property)) { return(builder); } var doc = new JsonPatchDocument <T>(); doc.Replace(property, value); (builder as IGenericBuilder <T>) .Patches .AddRange(doc.Operations); return(builder); }
public async Task It_ShouldCreateBuilderOutOfAsyncModel() { Task <TestHelperClass> myClassGetter = Task.FromResult( new TestHelperClass { Prop1 = "some value", Prop2 = 54, Prop3 = true } ); var expected = new TestHelperClass { Prop1 = "some value", Prop2 = 54, Prop3 = true }; GenericBuilder <TestHelperClass> result = await myClassGetter.AsBuilderAsync(); result.Build().Should().BeEquivalentTo(expected); }
/// <summary> /// 为此函数构建泛型 /// <para>构造函数无泛型参数</para> /// </summary> /// <param name="paramList">泛型参数</param> /// <param name="constraintList">泛型参数约束</param> /// <returns></returns> public virtual TBuilder WithGeneric(string paramList, string constraintList) { _member.GenericParams = GenericBuilder.WithFromCode(paramList, constraintList); return(_TBuilder); }
/// <summary> /// 为此函数构建泛型 /// <para>构造函数无泛型参数</para> /// </summary> /// <param name="builder">构建器</param> /// <returns></returns> public virtual TBuilder WithGeneric(GenericBuilder builder) { _member.GenericParams = builder; return(_TBuilder); }