Commit 9848558c authored by yangxiaodong's avatar yangxiaodong

add test case

parent b125f7cc
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Xunit;
using System.Threading;
namespace Cap.Consistency.Test
{
public class ConsistencyBuilderTest
{
[Fact]
public void CanOverrideMessageStore() {
var services = new ServiceCollection();
services.AddConsistency<TestConsistencyMessage>().AddMessageStore<MyUberThingy>();
var thingy = services.BuildServiceProvider().GetRequiredService<IConsistencyMessageStore<TestConsistencyMessage>>() as MyUberThingy;
Assert.NotNull(thingy);
}
private class MyUberThingy : IConsistencyMessageStore<TestConsistencyMessage>
{
public Task<OperateResult> CreateAsync(TestConsistencyMessage message, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
public Task<OperateResult> DeleteAsync(TestConsistencyMessage message, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
public void Dispose() {
throw new NotImplementedException();
}
public Task<TestConsistencyMessage> FindByIdAsync(string messageId, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
public Task<string> GetMessageIdAsync(TestConsistencyMessage message, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
public Task<OperateResult> UpdateAsync(TestConsistencyMessage message, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
}
}
}
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Xunit;
namespace Cap.Consistency.Test
{
public class ConsistencyMessageManagerTest
{
[Fact]
public void EnsureDefaultServicesDefaultsWithStoreWorks() {
var services = new ServiceCollection().AddTransient<IConsistencyMessageStore<TestConsistencyMessage>, NoopMessageStore>();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
namespace Cap.Consistency.Test
{
public class NoopMessageStore : IConsistencyMessageStore<TestConsistencyMessage>
{
public Task<OperateResult> CreateAsync(TestConsistencyMessage message, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
public Task<OperateResult> DeleteAsync(TestConsistencyMessage message, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
public void Dispose() {
throw new NotImplementedException();
}
public Task<TestConsistencyMessage> FindByIdAsync(string messageId, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
public Task<string> GetMessageIdAsync(TestConsistencyMessage message, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
public Task<OperateResult> UpdateAsync(TestConsistencyMessage message, CancellationToken cancellationToken) {
throw new NotImplementedException();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Xunit;
namespace Cap.Consistency.Test
{
public class OperateResultTest
{
[Fact]
public void VerifyDefaultConstructor() {
var result = new OperateResult();
Assert.False(result.Succeeded);
Assert.Equal(0, result.Errors.Count());
}
[Fact]
public void NullFaildUsesEmptyErrors() {
var result = OperateResult.Failed();
Assert.False(result.Succeeded);
Assert.Equal(0, result.Errors.Count());
}
}
}
using System;
namespace Cap.Consistency.Test
{
public class TestConsistencyMessage : TestConsistencyMessage<string>
{
public TestConsistencyMessage() {
Id = Guid.NewGuid().ToString();
}
}
public class TestConsistencyMessage<TKey> where TKey : IEquatable<TKey>
{
public TestConsistencyMessage() { }
public virtual TKey Id { get; set; }
public virtual DateTime Time { get; set; }
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment