public Spesification(ITestOutputHelper outputHelper) { History = Given(); Command = When(); var sut = new TAggregate(); var store = new SpecificationAggregateStore(sut); var snapshotStore = new SpesificationAggregateSnapshotStore(); try { sut.Load(History); GetHandler(store, snapshotStore)(Command).GetAwaiter().GetResult(); } catch (Exception e) { CaughtException = e; } RaisedEvents = store.RaisedEvents; Snapshots = snapshotStore.GetSnapshotAsync <TAggregate>(null, sut.Id).Result; if (Snapshots != null) { outputHelper.WriteLine($"Snapshot:{Snapshots.AggregateId},{Snapshots.Version}"); } if (CaughtException != null) { outputHelper.WriteLine($"Error : {CaughtException.ToString()}"); } Print(outputHelper); }
public Spesification(ITestOutputHelper outputHelper) { History = Given(); Command = When(); var sut = new TAggregate(); var store = new SpecificationAggregateStore(sut); try { sut.Load(History); GetHandler(store)(Command).GetAwaiter().GetResult(); } catch (Exception e) { CaughtException = e; } RaisedEvents = store.RaisedEvents; if (CaughtException != null) { outputHelper.WriteLine($"Error : {CaughtException.ToString()}"); } Print(outputHelper); }
public Specification(ITestOutputHelper output) { _output = output; History = Given(); Command = When(); var sut = new TAggregate(); sut.Load(History); var store = SpecificationAggregateStore.For(sut); try { GetHandler(store)(Command).GetAwaiter().GetResult(); } catch (Exception exception) { CaughtException = exception; } RaisedEvents = store.RaisedEvents; Print(); }
public async Task Test() { InvokeAsyncHandlersTestClass obj = new InvokeAsyncHandlersTestClass(); var parameters = new object[] { }; Assert.Equal(new BoolValue() { Value = true }, await GetHandler(typeof(bool))(obj, parameters)); Assert.Equal(new SInt32Value() { Value = -32 }, await GetHandler(typeof(int))(obj, parameters)); Assert.Equal(new UInt32Value() { Value = 32 }, await GetHandler(typeof(uint))(obj, parameters)); Assert.Equal(new SInt64Value() { Value = -64 }, await GetHandler(typeof(long))(obj, parameters)); Assert.Equal(new UInt64Value() { Value = 64 }, await GetHandler(typeof(ulong))(obj, parameters)); Assert.Equal(new StringValue() { Value = "AElf" }, await GetHandler(typeof(string))(obj, parameters)); Assert.Equal(new BytesValue() { Value = ByteString.CopyFrom(new byte[] { 0x1, 0x2, 0x3 }) }, await GetHandler(typeof(byte[]))(obj, parameters)); }
/// <summary> /// When implemented by inheriting classes, this method will do the actual work of resolving /// the requested service instance. /// </summary> /// <param name="serviceType">Type of instance requested.</param> /// <param name="key">Name of registered service you want. May be null.</param> /// <returns>The requested service instance.</returns> protected override object DoGetInstance(Type serviceType, string key) { return(key == null ? GetHandler(serviceType)() : (serviceType == null) ? GetInstance(key) : GetInstance(key, serviceType.GetGenericArguments())); }
public NameTable(Dictionary <string, Named> baseLvl, TypingPolicies typing, RetrievalPolicies retrieval) { _payload = new List <Dictionary <string, Named> >(); _payload.Add(baseLvl); switch (typing) { case TypingPolicies.STRONG: HandleSettingConflict = EnforceTyping; break; case TypingPolicies.WEAK: HandleSettingConflict = SetValueAndReturnTrue; break; } switch (retrieval) { case RetrievalPolicies.STRICT: HandleDeclareConflict = ReturnFalse; HandleMissingVariable = PassThrough; break; case RetrievalPolicies.LOOSE: HandleDeclareConflict = SetValueAndReturnTrue; HandleMissingVariable = ProvideAndReturnTrue; break; } }
public void Search_For_User_By_Id_No_User_Existent() { var getHandler = new GetHandler("../../../../TestFrameworklessApp/UnitTests/MultipleUserDatabase.json"); var exception = Assert.Throws <ArgumentException>(() => getHandler.GetUserById("4")); Assert.Equal("User does not exist", exception.Message); }
public void Check_If_Database_Is_Empty_Return_Error() { var getHandler = new GetHandler("../../../../TestFrameworklessApp/UnitTests/EmptyDatabaseTest.json"); var exception = Assert.Throws <ArgumentException>(() => getHandler.GetAllUsers()); Assert.Equal("Database is empty", exception.Message); }
public void Get_All_Users_In_Database_Containing_Multiple_Users() { var getHandler = new GetHandler("../../../../TestFrameworklessApp/UnitTests/MultipleUserDatabase.json"); var userList = new List <User>(); userList.Add(new User("Bob", "1")); userList.Add(new User("Sally", "2")); userList.Add(new User("Sam", "3")); var actual = getHandler.GetAllUsers(); bool result = true; if (actual.Count == userList.Count) { for (int i = 0; i < actual.Count; i++) { if (actual[i].Name != userList[i].Name || actual[i].Id != userList[i].Id) { result = false; } } } else { result = false; } Assert.True(result); }
internal static Accessors GetAccessors(FieldInfo member) { if (AccessorsCacheCheck.PropertiesDisabled) { return(new Accessors(member.GetValue, member.SetValue)); } Accessors accessors; lock (Fields) { if (Fields.TryGetValue(member, out accessors)) { return(accessors); } } GetHandler getter = DynamicMethodCompiler.CreateGetHandler(member.ReflectedType, member) ?? member.GetValue; SetHandler setter = DynamicMethodCompiler.CreateSetHandler(member.ReflectedType, member) ?? member.SetValue; accessors = new Accessors(getter, setter); lock (Fields) Fields[member] = accessors; return(accessors); }
internal static Accessors GetAccessors(PropertyInfo member) { if (AccessorsCacheCheck.PropertiesDisabled) { return(new Accessors(inst => Helpers.GetPropertyValue(member, inst), (inst, v) => member.SetValue(inst, v, null))); } Accessors accessors; lock (Properties) { if (Properties.TryGetValue(member, out accessors)) { return(accessors); } } GetHandler getter = DynamicMethodCompiler.CreateGetHandler(member.ReflectedType, member) ?? (inst => Helpers.GetPropertyValue(member, inst)); SetHandler setter = DynamicMethodCompiler.CreateSetHandler(member.ReflectedType, member) ?? ((inst, v) => member.SetValue(inst, v, null)); accessors = new Accessors(getter, setter); lock (Properties) Properties[member] = accessors; return(accessors); }
public static GetHandler CreateGetHandler(Type type, PropertyInfo propertyInfo) { lock (AppInfo.GetDictionary) { if (AppInfo.GetDictionary.ContainsKey(propertyInfo)) { return(AppInfo.GetDictionary[propertyInfo]); } else { MethodInfo getMethodInfo = propertyInfo.GetGetMethod(true); DynamicMethod dynamicGet = CreateGetDynamicMethod(type); ILGenerator getGenerator = dynamicGet.GetILGenerator(); getGenerator.Emit(OpCodes.Ldarg_0); getGenerator.Emit(OpCodes.Call, getMethodInfo); Box(getMethodInfo.ReturnType, getGenerator); getGenerator.Emit(OpCodes.Ret); GetHandler getHandler = (GetHandler)dynamicGet.CreateDelegate(typeof(GetHandler)); AppInfo.GetDictionary.Add(propertyInfo, getHandler); return(getHandler); } } }
public void Search_For_User_By_Id() { var getHandler = new GetHandler("../../../../TestFrameworklessApp/UnitTests/MultipleUserDatabase.json"); User actualUser = getHandler.GetUserById("3"); Assert.Equal("Sam", actualUser.Name); }
public MemberMap(FieldInfo fieldInfo) { MemberInfo = fieldInfo; Type = fieldInfo.FieldType; Getter = createGetHandler(fieldInfo); Setter = createSetHandler(fieldInfo); }
public MemberMap(PropertyInfo propertyInfo) { MemberInfo = propertyInfo; Type = propertyInfo.PropertyType; Getter = createGetHandler(propertyInfo); Setter = createSetHandler(propertyInfo); }
public static ChunkedOperation Create(HttpServer server, ChunkedOperationType type, bool sendAsync) { var(flags, status, error) = GetParameters(type); var handler = new GetHandler(ChunkTypeName(type), ChunkContent(type)); return(new ChunkedOperation(server, handler, type, sendAsync, flags, status, error)); }
public void Get_All_Users_In_Database_Containing_One_User() { var userList = new List <User>(); userList.Add(new User("Bob", "1")); var getHandler = new GetHandler("../../../../TestFrameworklessApp/UnitTests/SingleUserDatabaseTest.json"); var actual = getHandler.GetAllUsers(); bool result = true; if (userList.Count == actual.Count) { foreach (var user in actual) { if (user.Name != "Bob" || user.Id != "1") { result = false; } } } else { result = false; } Assert.True(result); }
public override Object GetValue(Object obj) { if (GetHandler == null) { throw new InvalidOperationException("不支持GetValue操作!"); } return(GetHandler.Invoke(obj)); }
void HandleGet(RequestContext request) { string tmpString = GetHandler.HandleByCommand(request); Console.WriteLine(tmpString); ResponseHandler.Status200(Writer, tmpString); }
public static Object GetFieldValue(Object obj, FieldInfo field) { //创建Set委托 GetHandler getter = DynamicMethodCompiler.CreateGetHandler(obj.GetType(), field); //获取字段值 return(getter(obj)); }
public static Object GetPropertyValue(Object obj, PropertyInfo property) { //创建Set委托 GetHandler getter = DynamicMethodCompiler.CreateGetHandler(obj.GetType(), property); //获取属性值 return(getter(obj)); }
public FieldAccessor(FieldInfo fieldInfo) : base(fieldInfo.Name, fieldInfo.FieldType) { _fieldInfo = fieldInfo; _getHandler = DelegateFactory.CreateGet(fieldInfo); _setHandler = DelegateFactory.CreateSet(fieldInfo); _isInternal = _fieldInfo.IsPrivate || _fieldInfo.IsFamily; }
public async Task HandleRequestAsync_ValidRequest_VehicleDataFoundReturnsResponseWithExpectedContent() { // Arrange const string vin = "VIN"; var data = new VehicleData { CustomerId = 1, VIN = "VIN", Make = "BMW", Model = "118d", ModelYear = 2016, ImportedDate = DateTime.UtcNow }; var fakeValidateVIN = A.Fake <IValidateVIN>(); A.CallTo(() => fakeValidateVIN.IsValid(vin)).Returns(true); var fakeVehicleDataService = A.Fake <IVehicleDataService>(); A.CallTo(() => fakeVehicleDataService.GetVehicleDataAsync(vin)).Returns(data); IServiceProvider sp = new ServiceCollection() .AddSingleton(fakeValidateVIN) .AddSingleton(fakeVehicleDataService) .BuildServiceProvider(); var context = A.Fake <ILambdaContext>(); A.CallTo(() => context.Logger).Returns(A.Fake <ILambdaLogger>()); APIGatewayProxyRequest dummyRequestEvent = new APIGatewayProxyRequest { PathParameters = new Dictionary <string, string> { { "id", vin } } }; var sut = new GetHandler(sp); // Act APIGatewayProxyResponse result = await sut.HandleRequestAsync(dummyRequestEvent, context); ResponseBody responseBody = JsonConvert.DeserializeObject <ResponseBody>(result.Body); // Assert Assert.Equal(data.CustomerId, responseBody.CustomerId); Assert.Equal(data.VIN, responseBody.VIN); Assert.Equal(data.Make, responseBody.Make); Assert.Equal(data.Model, responseBody.Model); Assert.Equal(data.ModelYear, responseBody.ModelYear); Assert.Equal(data.ImportedDate, responseBody.ImportedDate); }
public override void Bind(GetHandler get, SourceType src) { //1.get:获取数据的方法指针;src:当前提供get的源类型[DataBase|Entity|Collection] // PUID = Eval <int>(get("PUID")); LK_OBJT = Eval <int>(get("LK_OBJT")); LK_OBJT_ID = Eval <int>(get("LK_OBJT_ID")); LK_Operate = Eval <string>(get("LK_Operate")); }
public override Object GetValue(Object obj) { // 在编译时写入并且不能更改的字段,不能快速反射,主要因为取不到FieldHandle。枚举中的静态字段。 if (Field.IsLiteral) { return(Field.GetValue(obj)); } return(GetHandler.Invoke(obj)); }
public InterpolateFromCurrent(InterpolateHandler InterpolateFunction, ITimer timer, SetHandler SetCallback, GetHandler GetCallback) { this.InterpolateFunction = InterpolateFunction; this.timer = timer; timer.SubscribeToTicked(TimerTicked); timer.SubscribeToFinished(TimerFinished); Set = SetCallback; Get = GetCallback; }
public static Dictionary <string, IRequestHandler> GetRequestHandlers(IScheduler scheduler, IMemCache cache) { var helpers = new RequestConverters(scheduler); var getHandler = new GetHandler(helpers, cache, scheduler); var mutateHandler = new MutateHandler(helpers, cache, scheduler); return(new Dictionary <string, IRequestHandler> { { "get", getHandler }, { "gets", getHandler }, { "set", new SetHandler(helpers, cache) }, { "append", new AppendHandler(helpers, cache) }, { "prepend", new PrependHandler(helpers, cache) }, { "add", new AddHandler(helpers, cache) }, { "replace", new ReplaceHandler(helpers, cache) }, { "cas", new CasHandler(helpers, cache) }, { "stats", new StatsHandler() }, { "delete", new DeleteHandler(helpers, cache) }, { "flush_all", new FlushHandler(cache, scheduler) }, { "quit", new QuitHandler() }, { "exception", new ExceptionHandler() }, { "version", new VersionHandler() }, { "touch", new TouchHandler(helpers, cache) }, { "incr", mutateHandler }, { "decr", mutateHandler }, }); }
public HttpResponseMessage Get(int id) { var handler = new GetHandler(); var response = handler.Handle(id); if (handler.Errors == null || handler.Errors.Count < 1) { return(Request.CreateResponse(HttpStatusCode.OK, response.ReportComponentDtos[0])); } return(Request.CreateResponse(HttpStatusCode.BadRequest, handler.Errors)); }
public Specification() { History = Given(); Command = When(); var sut = new TAggregate(); sut.Load(History); var store = SpecificationAggregateStore.For(sut); try { GetHandler(store)(Command).Wait(); } catch (Exception exception) { CaughtException = exception; } RaisedEvents = store.RaisedEvents; }
/// <summary> /// 绑定委托数据 /// </summary> /// <param name="get">委托数据源</param> /// <param name="src">源类型</param> public override void Bind(GetHandler get, SourceType src) { PGID = Eval<int>(get("PGID")); PG_CN_Name = Eval<string>(get("PG_CN_Name")); PG_EN_Name = Eval<string>(get("PG_EN_Name")); PG_Order_Index = Eval<int>(get("PG_Order_Index")); LK_Operate = Eval<string>(get("LK_Operate")); LK_OBJT = Eval<int>(get("LK_OBJT")); P_Express = Eval<PExpress>(get("P_Express")); base.Bind(get, src); }
/// <summary> /// Initializes the property and generates the implementation for getter and setter methods. /// </summary> public FastPropertyInfo(PropertyInfo property) { this.property = property; if (property.CanWrite) { setValueImpl = DynamicMethodCompiler.CreateSetHandler(property.DeclaringType, property); } if (property.CanRead) { getValueImpl = DynamicMethodCompiler.CreateGetHandler(property.DeclaringType, property); } }
public override void Bind(GetHandler get, SourceType src) { //1.get:获取数据的方法指针;src:当前提供get的源类型[DataBase|Entity|Collection] // _B2CGoodsID = Eval<int>(get("B2CGoodsID")); _Id = Eval<int>(get("id")); _Class_id = Eval<int>(get("class_id")); _B2CClassID = Eval<string>(get("B2CClassID")); _B2CClassName = Eval<string>(get("B2CClassName")); _Goodstitle = Eval<string>(get("goodstitle")); _Goodstitle2 = Eval<string>(get("goodstitle2")); _Goodspic = Eval<string>(get("goodspic")); _Brandid = Eval<int>(get("brandid")); _Brandname = Eval<string>(get("brandname")); _Goodstxt = Eval<string>(get("goodstxt")); _Goodsstate = Eval<short>(get("goodsstate")); _Keywords = Eval<string>(get("keywords")); _Unit = Eval<string>(get("unit")); _BeginTime = Eval<DateTime>(get("BeginTime")); _EndTime = Eval<DateTime>(get("EndTime")); _MemberPric1 = Eval<decimal>(get("MemberPric1")); _MemberPric2 = Eval<decimal>(get("MemberPric2")); _MemberPric3 = Eval<decimal>(get("MemberPric3")); _MemberPric4 = Eval<decimal>(get("MemberPric4")); _MemberPric5 = Eval<decimal>(get("MemberPric5")); _MemberPric6 = Eval<decimal>(get("MemberPric6")); _Pricescosts = Eval<decimal>(get("pricescosts")); _Listprice = Eval<decimal>(get("listprice")); _Minpric = Eval<decimal>(get("minpric")); _Maxpric = Eval<decimal>(get("maxpric")); _BarCode = Eval<long>(get("BarCode")); _Weight = Eval<int>(get("Weight")); _WeightBz = Eval<int>(get("WeightBz")); _ServiceNote = Eval<string>(get("ServiceNote")); _SaleCount = Eval<int>(get("SaleCount")); _IsInsured = Eval<short>(get("IsInsured")); _InsuredScale = Eval<short>(get("InsuredScale")); _WarrantyType = Eval<short>(get("WarrantyType")); _WarrantyLimit = Eval<int>(get("WarrantyLimit")); _RetreatRule = Eval<short>(get("RetreatRule")); _ProductType = Eval<short>(get("ProductType")); _IsPost = Eval<short>(get("IsPost")); _IsPreferential = Eval<short>(get("IsPreferential")); _IsBind = Eval<short>(get("IsBind")); _IsNotdiscount = Eval<short>(get("IsNotdiscount")); _IsPromotion = Eval<short>(get("IsPromotion")); _IsaretGift = Eval<short>(get("IsaretGift")); _IsGift = Eval<short>(get("IsGift")); _BuyNumber = Eval<int>(get("BuyNumber")); _CollectNumber = Eval<int>(get("CollectNumber")); _BrowsingNumber = Eval<int>(get("BrowsingNumber")); _OrderID = Eval<int>(get("OrderID")); _IsExchange = Eval<short>(get("IsExchange")); _IntegralVal = Eval<int>(get("IntegralVal")); _MofifyTime = Eval<DateTime>(get("MofifyTime")); _Specjson = Eval<string>(get("specjson")); _Expselected = Eval<string>(get("expselected")); _Accessory = Eval<string>(get("accessory")); _Kzs0 = Eval<string>(get("kzs0")); _Kzv0 = Eval<string>(get("kzv0")); _Kzs1 = Eval<string>(get("kzs1")); _Kzv1 = Eval<string>(get("kzv1")); _Kzs2 = Eval<string>(get("kzs2")); _Kzv2 = Eval<string>(get("kzv2")); _Kzs3 = Eval<string>(get("kzs3")); _Kzv3 = Eval<string>(get("kzv3")); _Kzs4 = Eval<string>(get("kzs4")); _Kzv4 = Eval<string>(get("kzv4")); _Kzs5 = Eval<string>(get("kzs5")); _Kzv5 = Eval<string>(get("kzv5")); _Kzs6 = Eval<string>(get("kzs6")); _Kzv6 = Eval<string>(get("kzv6")); _Kzs7 = Eval<string>(get("kzs7")); _Kzv7 = Eval<string>(get("kzv7")); _Kzs8 = Eval<string>(get("kzs8")); _Kzv8 = Eval<string>(get("kzv8")); _Kzs9 = Eval<string>(get("kzs9")); _Kzv9 = Eval<string>(get("kzv9")); _DaySales = Eval<int>(get("DaySales")); _SevenDaySales = Eval<int>(get("SevenDaySales")); _MonthSales = Eval<int>(get("MonthSales")); _IsSnapup = Eval<short>(get("IsSnapup")); _ConsultCount = Eval<int>(get("ConsultCount")); _EvaluateAvg = Eval<float>(get("EvaluateAvg")); _EvaluateCount = Eval<int>(get("EvaluateCount")); _CarinfoTitle = Eval<string>(get("CarinfoTitle")); _Specfzids = Eval<string>(get("specfzids")); _Usableintegral = Eval<int>(get("usableintegral")); _OrgDesc = Eval<string>(get("OrgDesc")); _FineLevel = Eval<short>(get("FineLevel")); _Origin = Eval<string>(get("origin")); _Newproduct = Eval<short>(get("newproduct")); _Hotsell = Eval<short>(get("hotsell")); _Functionid = Eval<int>(get("functionid")); _Functionname = Eval<string>(get("functionname")); _ExtGoodsID = Eval<int>(get("ExtGoodsID")); _Priceshy = Eval<decimal>(get("priceshy")); _Pricesdx = Eval<decimal>(get("pricesdx")); _Priceszd = Eval<decimal>(get("priceszd")); _Caroutput = Eval<string>(get("Caroutput")); _Caryear = Eval<string>(get("Caryear")); _Carinfo = Eval<string>(get("Carinfo")); _CarBrand = Eval<string>(get("CarBrand")); _CarinfonfID = Eval<string>(get("CarinfonfID")); _CarinfoID = Eval<string>(get("CarinfoID")); _CarBrandID = Eval<string>(get("CarBrandID")); _Cpids = Eval<string>(get("Cpids")); _GoodsTag = Eval<string>(get("GoodsTag")); _TaobaoTitle = Eval<string>(get("TaobaoTitle")); _TaobaoContent = Eval<string>(get("TaobaoContent")); }