コード例 #1
0
        public void GetItemDefinition_Izanagi_ShouldReturnItemDefinitionWithCorrectValues()
        {
            IConfiguration    config           = Mock.Of <IConfiguration>(m => m["Emissary:ManifestPath"] == "data/dummy.manifest");
            uint              izanagiHash      = 3211806999;
            string            jsonResponse     = TestUtils.ReadFile("item-izanagi.json");
            IDatabaseAccessor databaseAccessor = Mock.Of <IDatabaseAccessor>();

            Mock.Get(databaseAccessor)
            .Setup(m => m.ExecuteCommand(
                       It.Is <string>(s => s.Contains(((int)izanagiHash).ToString())),
                       It.IsRegex(@".*\.manifest$")))
            .Returns(jsonResponse);

            ManifestItemDefinition expected = new ManifestItemDefinition("Izanagi's Burden", "Exotic",
                                                                         new List <uint>()
            {
                2, 1, 10
            });

            ManifestDao            manifestDao = new ManifestDao(config, databaseAccessor);
            ManifestItemDefinition actual      = manifestDao.GetItemDefinition(izanagiHash);

            Assert.AreEqual(expected.DisplayName, actual.DisplayName);
            Assert.AreEqual(expected.TierTypeName, actual.TierTypeName);
            Assert.IsTrue(expected.ItemCategoryHashes.SequenceEqual(actual.ItemCategoryHashes));
        }
コード例 #2
0
        public void LookupItem_DatabaseNotFound_ShouldThrowDataAccessException()
        {
            IConfiguration    config           = Mock.Of <IConfiguration>(m => m["Emissary:ManifestPath"] == "data/dummy.manifest");
            uint              izanagiHash      = 3211806999;
            IDatabaseAccessor databaseAccessor = Mock.Of <IDatabaseAccessor>();

            Mock.Get(databaseAccessor)
            .Setup(m => m.ExecuteCommand(
                       It.Is <string>(s => s.Contains(((int)izanagiHash).ToString())),
                       It.IsRegex(@".*\.manifest$")))
            .Throws(new DataAccessException("database file not found"));
            ManifestDao         manifestDao = new ManifestDao(config, databaseAccessor);
            DataAccessException exception   = Assert.ThrowsException <DataAccessException>(() => manifestDao.GetItemDefinition(izanagiHash));

            Assert.IsTrue(exception.Message.Contains("database file not found"));
        }
コード例 #3
0
        public void GetItemDefinition_ItemNotFound_ShouldReturnNull()
        {
            IConfiguration    config = Mock.Of <IConfiguration>(m => m["Emissary:ManifestPath"] == "data/dummy.manifest");
            uint              nonexistentItemHash = 0;
            IDatabaseAccessor databaseAccessor    = Mock.Of <IDatabaseAccessor>();

            Mock.Get(databaseAccessor)
            .Setup(m => m.ExecuteCommand(
                       It.Is <string>(s => s.Contains(((int)nonexistentItemHash).ToString())),
                       It.IsRegex(@".*\.manifest$")))
            .Returns("");
            ManifestDao            manifestDao = new ManifestDao(config, databaseAccessor);
            ManifestItemDefinition actual      = manifestDao.GetItemDefinition(nonexistentItemHash);

            Assert.IsNull(actual);
        }
コード例 #4
0
        public void LookupItemCategory_KineticWeapon_ShouldReturnItemDefinitionWithCorrectValues()
        {
            IConfiguration    config = Mock.Of <IConfiguration>(m => m["Emissary:ManifestPath"] == "data/dummy.manifest");
            uint              kineticWeaponCategoryHash = 2;
            string            jsonResponse     = TestUtils.ReadFile("category-kinetic-weapon.json");
            IDatabaseAccessor databaseAccessor = Mock.Of <IDatabaseAccessor>();

            Mock.Get(databaseAccessor)
            .Setup(m => m.ExecuteCommand(
                       It.Is <string>(s => s.Contains(((int)kineticWeaponCategoryHash).ToString())),
                       It.IsRegex(@".*\.manifest$")))
            .Returns(jsonResponse);
            ManifestItemCategoryDefinition expected = new ManifestItemCategoryDefinition("Kinetic Weapon");
            ManifestDao manifestDao = new ManifestDao(config, databaseAccessor);
            ManifestItemCategoryDefinition actual = manifestDao.GetItemCategoryDefinition(kineticWeaponCategoryHash);

            Assert.AreEqual(expected.CategoryName, actual.CategoryName);
        }