public static Gen <Operation <ITcpServerSocketModel, ITcpServerSocketModel> > Generator() { Func <int, IEventLoopGroup, Operation <ITcpServerSocketModel, ITcpServerSocketModel> > producer = (s, e) => new ClientConnect(s, e) as Operation <ITcpServerSocketModel, ITcpServerSocketModel>; var fsFunc = FsharpDelegateHelper.Create(producer); return(Gen.Map2(fsFunc, Gen.Choose(1, 10), GenClientEventLoops().Generator)); }
public static Gen <Operation <MembershipState, MembershipModel> > Generator(IEnumerable <Address> addresses) { var statusGen = ClusterGenerators.MemberStatusGenerator().Generator; Func <Address, MemberStatus, Operation <MembershipState, MembershipModel> > generator = (address, status) => new ChangeMemberStatus(address, status); var producer = FsharpDelegateHelper.Create(generator); return(Gen.Map2(producer, Gen.Elements(addresses), statusGen)); }
public static Arbitrary <UniqueAddress> UniqueAddressGenerator() { var gen1 = Arb.Default.Int32().Generator; var gen2 = AddressGenerator(); // randomize both addresses and ports Func <int, Address, UniqueAddress> combiner = (uid, addr) => new UniqueAddress(addr, uid); var producer = FsharpDelegateHelper.Create(combiner); return(Arb.From(Gen.Map2(producer, gen1, gen2.Generator))); }
public static Arbitrary <Address> AddressGenerator() { /* * In order to help guarantee collisions and duplicates in random tests, we hold all parts * of the address other than the port number constant. */ Func <IPAddress, int, Address> combiner = (address, i) => new Address("akka.tcp", "cluster", address.ToString(), i); var producer = FsharpDelegateHelper.Create(combiner); return(Arb.From(Gen.Map2(producer, Arb.Default.IPAddress().Generator, Gen.Choose(1, 65535)))); }