예제 #1
0
        public void Test075Data()
        {
            var contextProvider    = new InMemoryPersistenceContextProvider();
            var dataInitialization = new Version075.DataInitialization(contextProvider, new NullLoggerFactory());

            dataInitialization.CreateInitialData(1, true);
        }
예제 #2
0
        public void JewelOfSoul(byte itemLevel, bool consumptionExpectation, bool success, byte expectedItemLevel)
        {
            var contextProvider = new InMemoryPersistenceContextProvider();
            var randomizer      = new Mock <IRandomizer>();

            randomizer.Setup(r => r.NextRandomBool(50)).Returns(success);
            var consumeHandler = new SoulJewelConsumeHandler(contextProvider, randomizer.Object);

            var player          = this.GetPlayer();
            var upgradeableItem = this.GetItemWithPossibleOption();

            upgradeableItem.Level = itemLevel;
            var upgradableItemSlot = (byte)(ItemSlot + 1);

            player.Inventory.AddItem(upgradableItemSlot, upgradeableItem);
            var soul = this.GetItem();

            player.Inventory.AddItem(ItemSlot, soul);
            soul.Durability = 1;

            var consumed = consumeHandler.ConsumeItem(player, ItemSlot, upgradableItemSlot);

            Assert.That(consumed, Is.EqualTo(consumptionExpectation));
            Assert.That(upgradeableItem.Level, Is.EqualTo(expectedItemLevel));
        }
예제 #3
0
        public void TestSeason6Data()
        {
            var contextProvider    = new InMemoryPersistenceContextProvider();
            var dataInitialization = new VersionSeasonSix.DataInitialization(contextProvider, new NullLoggerFactory());

            dataInitialization.CreateInitialData(1, false);
        }
예제 #4
0
        public void JewelOfLifeFailRemovesOption()
        {
            var contextProvider = new InMemoryPersistenceContextProvider();
            var consumeHandler  = new LifeJewelConsumeHandler(contextProvider);

            consumeHandler.Configuration.SuccessChance = 1;
            var player             = this.GetPlayer();
            var upgradeableItem    = this.GetItemWithPossibleOption();
            var upgradableItemSlot = (byte)(ItemSlot + 1);

            player.Inventory.AddItem(upgradableItemSlot, upgradeableItem);

            var jol = this.GetItem();

            player.Inventory.AddItem(ItemSlot, jol);
            jol.Durability = 1;

            consumeHandler.ConsumeItem(player, ItemSlot, upgradableItemSlot);
            Assert.That(upgradeableItem.ItemOptions.Count, Is.EqualTo(1));

            // then adding fails, so one option needs to be removed
            consumeHandler.Configuration.SuccessChance = 0;
            var jol2 = this.GetItem();

            player.Inventory.AddItem(ItemSlot, jol2);
            jol2.Durability = 1;
            var jolConsumed = consumeHandler.ConsumeItem(player, ItemSlot, upgradableItemSlot);

            Assert.That(jolConsumed, Is.True);
            Assert.That(upgradeableItem.ItemOptions.Count, Is.EqualTo(0));
        }
예제 #5
0
        public void JewelOfLife(int numberOfOptions, bool consumptionExpectation)
        {
            var contextProvider = new InMemoryPersistenceContextProvider();
            var consumeHandler  = new LifeJewelConsumeHandler(contextProvider);

            consumeHandler.Configuration.SuccessChance = 1;
            var player             = this.GetPlayer();
            var upgradeableItem    = this.GetItemWithPossibleOption();
            var upgradableItemSlot = (byte)(ItemSlot + 1);

            player.Inventory.AddItem(upgradableItemSlot, upgradeableItem);
            bool jolConsumed = false;

            for (int i = 0; i < numberOfOptions; i++)
            {
                var item = this.GetItem();
                player.Inventory.AddItem(ItemSlot, item);
                item.Durability = 1;

                jolConsumed = consumeHandler.ConsumeItem(player, ItemSlot, upgradableItemSlot);
            }

            Assert.That(jolConsumed, Is.EqualTo(consumptionExpectation));
            if (jolConsumed)
            {
                Assert.That(upgradeableItem.ItemOptions.Count, Is.EqualTo(1));
                Assert.That(upgradeableItem.ItemOptions.First().Level, Is.EqualTo(numberOfOptions));
            }
        }
예제 #6
0
        public void JewelOfLifeFailReducesOptionLevel()
        {
            var contextProvider = new InMemoryPersistenceContextProvider();
            var consumeHandler  = new LifeJewelConsumeHandler(contextProvider);

            consumeHandler.Configuration.SuccessChance = 1;
            var player             = this.GetPlayer();
            var upgradeableItem    = this.GetItemWithPossibleOption();
            var upgradableItemSlot = (byte)(ItemSlot + 1);

            player.Inventory.AddItem(upgradableItemSlot, upgradeableItem);

            // we're adding 3 options first
            for (int i = 0; i < 3; i++)
            {
                var item = this.GetItem();
                player.Inventory.AddItem(ItemSlot, item);
                item.Durability = 1;

                consumeHandler.ConsumeItem(player, item, upgradeableItem);
            }

            // then adding fails, so one option needs to be removed
            consumeHandler.Configuration.SuccessChance = 0;
            var jol = this.GetItem();

            player.Inventory.AddItem(ItemSlot, jol);
            jol.Durability = 1;
            var jolConsumed = consumeHandler.ConsumeItem(player, jol, upgradeableItem);

            Assert.That(jolConsumed, Is.True);
            Assert.That(upgradeableItem.ItemOptions.Count, Is.EqualTo(1));
            Assert.That(upgradeableItem.ItemOptions.First().Level, Is.EqualTo(2));
        }
예제 #7
0
파일: PartyTest.cs 프로젝트: xtr3sor/OpenMU
        private IGameContext GetGameServer()
        {
            var contextProvider = new InMemoryPersistenceContextProvider();
            var gameConfig      = contextProvider.CreateNewContext().CreateNew <GameConfiguration>();

            gameConfig.Maps.Add(contextProvider.CreateNewContext().CreateNew <GameMapDefinition>());

            var mapInitializer = new MapInitializer(gameConfig);
            var gameServer     = new GameContext(gameConfig, contextProvider, mapInitializer);

            gameServer.Configuration.MaximumPartySize = 5;

            return(gameServer);
        }
예제 #8
0
        private IGameContext GetGameServer()
        {
            var contextProvider = new InMemoryPersistenceContextProvider();
            var gameConfig      = contextProvider.CreateNewContext().CreateNew <GameConfiguration>();

            gameConfig.Maps.Add(contextProvider.CreateNewContext().CreateNew <GameMapDefinition>());

            var mapInitializer = new MapInitializer(gameConfig, new NullLogger <MapInitializer>());
            var gameServer     = new GameContext(gameConfig, contextProvider, mapInitializer, new NullLoggerFactory(), new PlugInManager(new List <PlugInConfiguration>(), new NullLoggerFactory(), null));

            gameServer.Configuration.MaximumPartySize = 5;

            return(gameServer);
        }
예제 #9
0
파일: Program.cs 프로젝트: webdes27/OpenMU
        private IPersistenceContextProvider DeterminePersistenceContextProvider(string[] args, ILoggerFactory loggerFactory)
        {
            IPersistenceContextProvider contextProvider;

            if (args.Contains("-demo"))
            {
                contextProvider = new InMemoryPersistenceContextProvider();
                var initialization = new DataInitialization(contextProvider, loggerFactory);
                initialization.CreateInitialData();
            }
            else
            {
                contextProvider = this.PrepareRepositoryManager(args.Contains("-reinit"), args.Contains("-autoupdate"), loggerFactory);
            }

            return(contextProvider);
        }
예제 #10
0
파일: Program.cs 프로젝트: psydox/OpenMU
        private IPersistenceContextProvider DeterminePersistenceContextProvider(string[] args, ILoggerFactory loggerFactory)
        {
            var version = this.GetVersionParameter(args);

            IPersistenceContextProvider contextProvider;

            if (args.Contains("-demo"))
            {
                contextProvider = new InMemoryPersistenceContextProvider();
                this.InitializeData(version, loggerFactory, contextProvider);
            }
            else
            {
                contextProvider = this.PrepareRepositoryManager(args.Contains("-reinit"), version, args.Contains("-autoupdate"), loggerFactory);
            }

            return(contextProvider);
        }
예제 #11
0
        public void SetUp()
        {
            this.gameServer1 = new Mock <IGameServer>();
            this.gameServer1.Setup(gs => gs.Id).Returns(1);
            this.gameServer2 = new Mock <IGameServer>();
            this.gameServer2.Setup(gs => gs.Id).Returns(2);

            this.gameServers = new Dictionary <int, IGameServer>
            {
                { this.gameServer1.Object.Id, this.gameServer1.Object },
                { this.gameServer2.Object.Id, this.gameServer2.Object },
            };
            this.persistenceContextProvider = new InMemoryPersistenceContextProvider();
            this.friendServer = new FriendServer.FriendServer(this.gameServers, null, this.persistenceContextProvider);
            var context = this.persistenceContextProvider.CreateNewContext();

            this.player1      = context.CreateNew <Character>();
            this.player1.Name = "player1";
            this.player2      = context.CreateNew <Character>();
            this.player2.Name = "player2";
        }
예제 #12
0
        public void SetUp()
        {
            this.gameServer1 = MockRepository.GenerateMock <IGameServer>();
            this.gameServer1.Stub(gs => gs.Id).Return(1);
            this.gameServer2 = MockRepository.GenerateMock <IGameServer>();
            this.gameServer2.Stub(gs => gs.Id).Return(2);

            this.gameServers = new Dictionary <int, IGameServer>
            {
                { this.gameServer1.Id, this.gameServer1 },
                { this.gameServer2.Id, this.gameServer2 }
            };
            this.persistenceContextProvider = new InMemoryPersistenceContextProvider();
            this.friendServer = new FriendServer.FriendServer(this.gameServers, null, this.persistenceContextProvider);
            var context = this.persistenceContextProvider.CreateNewContext();

            this.player1      = context.CreateNew <Character>();
            this.player1.Name = "player1";
            this.player2      = context.CreateNew <Character>();
            this.player2.Name = "player2";
        }
예제 #13
0
        public void JewelOfBless(byte itemLevel, bool consumptionExpectation)
        {
            var contextProvider = new InMemoryPersistenceContextProvider();
            var consumeHandler  = new BlessJewelConsumeHandler(contextProvider);

            var player          = this.GetPlayer();
            var upgradeableItem = this.GetItemWithPossibleOption();

            upgradeableItem.Level = itemLevel;
            var upgradableItemSlot = (byte)(ItemSlot + 1);

            player.Inventory.AddItem(upgradableItemSlot, upgradeableItem);
            var bless = this.GetItem();

            player.Inventory.AddItem(ItemSlot, bless);
            bless.Durability = 1;

            var consumed = consumeHandler.ConsumeItem(player, ItemSlot, upgradableItemSlot);

            Assert.That(consumed, Is.EqualTo(consumptionExpectation));
            Assert.That(upgradeableItem.Level, consumed ? Is.EqualTo(itemLevel + 1) : Is.EqualTo(itemLevel));
        }