using System; using UnitTestSharp; namespace Amphora.UnitTests { public class UnknownFailureKindTests : TestFixture { public class CtorTests : TestFixture { public void KeepsTheId() { CheckEqual(0xFFUL, new UnknownFailureKind(0xFF).Id); } public void NameShowsTheId() { CheckEqual("Unknown failure 0x00000000000000FF", new UnknownFailureKind(0xFF).Name); } public void OkWireId_Throws() { CheckThrow(typeof(ArgumentException)); new UnknownFailureKind(Status.OkWireId); } } public class DescribeTests : TestFixture { public void SaysItIsUnknown() { var kind = new UnknownFailureKind(5); CheckEqual("Unknown failure.", Status.FromWire(kind, reference: "ref", bits: 3).Describe()); } public void OtherKind_Throws() { Status other = FailureTestKinds.Unreachable.Fail(); CheckThrow(typeof(ArgumentException)); new UnknownFailureKind(5).Describe(other, context: null); } } public class CanSerializeReferenceTests : TestFixture { public void AnyObject_IsTrue() { CheckTrue(new UnknownFailureKind(5).CanSerializeReference(new object())); } } } }