diff --git a/.Lib9c.Tests/Action/ExceptionTest.cs b/.Lib9c.Tests/Action/ExceptionTest.cs
index ffb760d85e..6085d1ad1f 100644
--- a/.Lib9c.Tests/Action/ExceptionTest.cs
+++ b/.Lib9c.Tests/Action/ExceptionTest.cs
@@ -1,19 +1,27 @@
namespace Lib9c.Tests.Action
{
using System;
+ using System.Collections.Generic;
+ using System.Collections.Immutable;
using System.IO;
+ using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
+ using System.Security.Cryptography;
+ using Bencodex.Types;
using Lib9c.Formatters;
+ using Libplanet.Action;
+ using Libplanet.Blockchain.Renderers.Debug;
+ using Libplanet.Common;
using Libplanet.Crypto;
+ using Libplanet.Types.Assets;
+ using Libplanet.Types.Blocks;
+ using Libplanet.Types.Evidence;
+ using Libplanet.Types.Tx;
using MessagePack;
using MessagePack.Resolvers;
+ using Nekoyume;
using Nekoyume.Action;
- using Nekoyume.Action.Exceptions;
- using Nekoyume.Action.Exceptions.AdventureBoss;
- using Nekoyume.Action.Exceptions.Arena;
- using Nekoyume.Exceptions;
using Nekoyume.Model.State;
- using Nekoyume.TableData;
using Xunit;
public class ExceptionTest
@@ -28,96 +36,227 @@ public ExceptionTest()
MessagePackSerializer.DefaultOptions = options;
}
- [Theory]
- [InlineData(typeof(InvalidTradableIdException))]
- [InlineData(typeof(AlreadyReceivedException))]
- [InlineData(typeof(ArenaNotEndedException))]
- [InlineData(typeof(AvatarIndexAlreadyUsedException))]
- [InlineData(typeof(FailedLoadStateException))]
- [InlineData(typeof(InvalidNamePatternException))]
- [InlineData(typeof(CombinationSlotResultNullException))]
- [InlineData(typeof(CombinationSlotUnlockException))]
- [InlineData(typeof(NotEnoughMaterialException))]
- [InlineData(typeof(InvalidPriceException))]
- [InlineData(typeof(ItemDoesNotExistException))]
- [InlineData(typeof(EquipmentLevelExceededException))]
- [InlineData(typeof(DuplicateMaterialException))]
- [InlineData(typeof(InvalidMaterialException))]
- [InlineData(typeof(ConsumableSlotOutOfRangeException))]
- [InlineData(typeof(ConsumableSlotUnlockException))]
- [InlineData(typeof(InvalidItemTypeException))]
- [InlineData(typeof(InvalidRedeemCodeException))]
- [InlineData(typeof(DuplicateRedeemException))]
- [InlineData(typeof(SheetRowValidateException))]
- [InlineData(typeof(ShopItemExpiredException))]
- [InlineData(typeof(InvalidMonsterCollectionRoundException))]
- [InlineData(typeof(MonsterCollectionExpiredException))]
- [InlineData(typeof(InvalidLevelException))]
- [InlineData(typeof(ActionPointExceededException))]
- [InlineData(typeof(InvalidItemCountException))]
- [InlineData(typeof(DuplicateOrderIdException))]
- [InlineData(typeof(OrderIdDoesNotExistException))]
- [InlineData(typeof(ActionObsoletedException))]
- [InlineData(typeof(FailedLoadSheetException))]
- [InlineData(typeof(InvalidEquipmentException))]
- [InlineData(typeof(AlreadyRecipeUnlockedException))]
- [InlineData(typeof(InvalidRecipeIdException))]
- [InlineData(typeof(AlreadyWorldUnlockedException))]
- [InlineData(typeof(InvalidActionFieldException))]
- [InlineData(typeof(NotEnoughEventDungeonTicketsException))]
- [InlineData(typeof(InvalidClaimException))]
- [InlineData(typeof(RequiredBlockIntervalException))]
- [InlineData(typeof(ActionUnavailableException))]
- [InlineData(typeof(InvalidTransferCurrencyException))]
- [InlineData(typeof(InvalidCurrencyException))]
- [InlineData(typeof(InvalidProductTypeException))]
- [InlineData(typeof(ProductNotFoundException))]
- [InlineData(typeof(AlreadyContractedException))]
- [InlineData(typeof(ItemNotFoundException))]
- [InlineData(typeof(NotEnoughItemException))]
- [InlineData(typeof(StateNullException))]
- [InlineData(typeof(AlreadyClaimedException))]
- [InlineData(typeof(ClaimExpiredException))]
- [InlineData(typeof(InsufficientStakingException))]
- [InlineData(typeof(InvalidAdventureBossSeasonException))]
- [InlineData(typeof(InvalidBountyException))]
- [InlineData(typeof(MaxInvestmentCountExceededException))]
- [InlineData(typeof(PreviousBountyException))]
- [InlineData(typeof(SeasonInProgressException))]
- [InlineData(typeof(EmptyRewardException))]
- [InlineData(typeof(UnsupportedStateException))]
- [InlineData(typeof(AlreadyJoinedArenaException))]
- public void Exception_Serializable(Type excType)
+ ///
+ /// Get all exceptions defined in the Libplanet namespace.
+ ///
+ /// Enumerable object array that contain an exception object.
+ public static IEnumerable