2015-06-03 02:07:16 +03:00
|
|
|
using System;
|
|
|
|
using System.Threading.Tasks;
|
2016-10-20 06:33:02 +03:00
|
|
|
using TestExtensions;
|
2015-06-03 02:07:16 +03:00
|
|
|
using UnitTests.GrainInterfaces;
|
2016-01-16 02:37:48 +03:00
|
|
|
using Xunit;
|
2015-06-03 02:07:16 +03:00
|
|
|
|
2016-12-14 01:19:54 +03:00
|
|
|
namespace DefaultCluster.Tests.General
|
2015-06-03 02:07:16 +03:00
|
|
|
{
|
|
|
|
/// <summary>
|
|
|
|
/// Summary description for SimpleGrain
|
|
|
|
/// </summary>
|
2016-01-10 04:06:20 +03:00
|
|
|
public class StateClassTests : HostedTestClusterEnsureDefaultStarted
|
2015-06-03 02:07:16 +03:00
|
|
|
{
|
|
|
|
private readonly Random rand = new Random();
|
|
|
|
|
2017-01-19 00:39:41 +03:00
|
|
|
public StateClassTests(DefaultClusterFixture fixture) : base(fixture)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2016-01-16 02:37:48 +03:00
|
|
|
[Fact, TestCategory("BVT"), TestCategory("Functional")]
|
2015-06-03 02:07:16 +03:00
|
|
|
public async Task StateClassTests_StateClass()
|
|
|
|
{
|
|
|
|
await StateClassTests_Test("UnitTests.Grains.SimplePersistentGrain");
|
|
|
|
}
|
|
|
|
|
|
|
|
private async Task StateClassTests_Test(string grainClass)
|
|
|
|
{
|
2017-01-19 00:39:41 +03:00
|
|
|
var grain = this.GrainFactory.GetGrain<ISimplePersistentGrain>(GetRandomGrainId(), grainClass);
|
2015-06-03 02:07:16 +03:00
|
|
|
var originalVersion = await grain.GetVersion();
|
2016-01-09 04:26:39 +03:00
|
|
|
await grain.SetA(98, true); // deactivate grain after setting A
|
2015-06-03 02:07:16 +03:00
|
|
|
|
|
|
|
var newVersion = await grain.GetVersion(); // get a new version from the new activation
|
2016-05-26 00:03:26 +03:00
|
|
|
Assert.NotEqual(originalVersion, newVersion);
|
2015-06-03 02:07:16 +03:00
|
|
|
var a = await grain.GetA();
|
2016-05-26 00:03:26 +03:00
|
|
|
Assert.Equal(98, a); // value of A survive deactivation and reactivation of the grain
|
2015-06-03 02:07:16 +03:00
|
|
|
}
|
|
|
|
}
|
2015-12-15 11:27:03 +03:00
|
|
|
}
|