using FinalFactory.Rendezvous.Contracts; using FinalFactory.Rendezvous.Server.State; namespace FinalFactory.Rendezvous.Tests.State; public sealed class StoreResultMappingTests { [Fact] public void EveryStoreResultHasOneSharedContractErrorMapping() { Dictionary expected = new() { [StoreResultCode.Success] = RendezvousErrorCode.None, [StoreResultCode.NotFound] = RendezvousErrorCode.NotFound, [StoreResultCode.Expired] = RendezvousErrorCode.Expired, [StoreResultCode.Revoked] = RendezvousErrorCode.Forbidden, [StoreResultCode.Conflict] = RendezvousErrorCode.Conflict, [StoreResultCode.CapacityExceeded] = RendezvousErrorCode.CapacityExceeded, [StoreResultCode.Draining] = RendezvousErrorCode.ServiceUnavailable, [StoreResultCode.ReplayRejected] = RendezvousErrorCode.ReplayRejected, [StoreResultCode.ServiceUnavailable] = RendezvousErrorCode.ServiceUnavailable, [StoreResultCode.StaleHost] = RendezvousErrorCode.StaleHost, [StoreResultCode.IncompatibleProtocol] = RendezvousErrorCode.IncompatibleProtocol, }; Assert.Equal(Enum.GetValues().Length, expected.Count); foreach (KeyValuePair item in expected) { Assert.Equal(item.Value, item.Key.ToContractError()); } } }