orleans/test/DefaultCluster.Tests/ConcreteStateClassTests.cs

39 строки
1.3 KiB
C#
Исходник Обычный вид История

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