public async Task Test_Indexing_NoIndex() { IPlayer1GrainNonFaultTolerant p100 = base.GetGrain <IPlayer1GrainNonFaultTolerant>(100); IPlayer1GrainNonFaultTolerant p200 = base.GetGrain <IPlayer1GrainNonFaultTolerant>(200); IPlayer1GrainNonFaultTolerant p300 = base.GetGrain <IPlayer1GrainNonFaultTolerant>(300); await p100.SetLocation(ITC.Tehran); await p200.SetLocation(ITC.Tehran); await p300.SetLocation(ITC.Yazd); Assert.Equal(ITC.Tehran, await p100.GetLocation()); Assert.Equal(ITC.Tehran, await p200.GetLocation()); Assert.Equal(ITC.Yazd, await p300.GetLocation()); }
public async Task Test_Indexing_NoIndex() { IPlayer1GrainNonFaultTolerant p100 = GrainClient.GrainFactory.GetGrain <IPlayer1GrainNonFaultTolerant>(100); IPlayer1GrainNonFaultTolerant p200 = GrainClient.GrainFactory.GetGrain <IPlayer1GrainNonFaultTolerant>(200); IPlayer1GrainNonFaultTolerant p300 = GrainClient.GrainFactory.GetGrain <IPlayer1GrainNonFaultTolerant>(300); await p100.SetLocation("Tehran"); await p200.SetLocation("Tehran"); await p300.SetLocation("Yazd"); Assert.Equal("Tehran", await p100.GetLocation()); Assert.Equal("Tehran", await p200.GetLocation()); Assert.Equal("Yazd", await p300.GetLocation()); }
public async Task Test_Indexing_IndexLookup1() { //await GrainClient.GrainFactory.DropAllIndexes<IPlayerGrain>(); IPlayer1GrainNonFaultTolerant p1 = GrainClient.GrainFactory.GetGrain <IPlayer1GrainNonFaultTolerant>(1); await p1.SetLocation("Seattle"); //bool isLocIndexCreated = await GrainClient.GrainFactory.CreateAndRegisterIndex<HashIndexSingleBucketInterface<string, IPlayerGrain>, PlayerLocIndexGen>("__GetLocation"); //Assert.IsTrue(isLocIndexCreated); IPlayer1GrainNonFaultTolerant p2 = GrainClient.GrainFactory.GetGrain <IPlayer1GrainNonFaultTolerant>(2); IPlayer1GrainNonFaultTolerant p3 = GrainClient.GrainFactory.GetGrain <IPlayer1GrainNonFaultTolerant>(3); await p2.SetLocation("Seattle"); await p3.SetLocation("San Fransisco"); IndexInterface <string, IPlayer1GrainNonFaultTolerant> locIdx = GrainClient.GrainFactory.GetIndex <string, IPlayer1GrainNonFaultTolerant>("__Location"); while (!await locIdx.IsAvailable()) { Thread.Sleep(50); } Assert.Equal(2, await IndexingTestUtils.CountPlayersStreamingIn <IPlayer1GrainNonFaultTolerant, Player1PropertiesNonFaultTolerant>("Seattle", output)); await p2.Deactivate(); Thread.Sleep(1000); Assert.Equal(1, await IndexingTestUtils.CountPlayersStreamingIn <IPlayer1GrainNonFaultTolerant, Player1PropertiesNonFaultTolerant>("Seattle", output)); p2 = GrainClient.GrainFactory.GetGrain <IPlayer1GrainNonFaultTolerant>(2); Assert.Equal("Seattle", await p2.GetLocation()); Assert.Equal(2, await IndexingTestUtils.CountPlayersStreamingIn <IPlayer1GrainNonFaultTolerant, Player1PropertiesNonFaultTolerant>("Seattle", output)); }