public void Format() { var type = new FlagsEnumArgumentType(typeof(MyFlags)); type.Format(MyFlags.None).Should().Be("None"); type.Format(MyFlags.SomeFlag).Should().Be("SomeFlag"); type.Format(MyFlags.SomeOtherFlag).Should().Be("SomeOtherFlag"); type.Format(MyFlags.SomeThirdFlag).Should().Be("SomeThirdFlag"); type.Format(MyFlags.SomeFlag | MyFlags.SomeOtherFlag).Should().Be("SomeFlag|SomeOtherFlag"); type.Format(MyFlags.All).Should().Be("All"); Action formatAction = () => type.Format(0xFF); formatAction.ShouldThrow<ArgumentOutOfRangeException>(); }