예제 #1
0
        public void ItemManagerUserAccess_RemoveItemByID_ValidCall()
        {
            //Arrange

            List <Item> Items   = CreateTestData.GetListOfItems();
            var         mockSet = new Mock <DbSet <Item> >()
                                  .SetupData(Items, o =>
            {
                return(Items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(mockSet.Object);
                mockContext.Mock <ItemsContext>()
                //When a removal of a Item object is called, perform a callback to the charList collection, using the same Item object as an argument.
                //This callback then fires, removing the object from the list.
                .Setup(x => x.Set <Item>().Remove(It.IsAny <Item>()))
                .Callback <Item>((entity) => Items.Remove(entity));

                //Act
                IUnitOfWork             UoW    = mockContext.Create <UnitOfWork>();
                IItemsManagerUserAccess toTest = UserAccessFactory.getItemsManagerUserAccess(UoW);
                var toBeDeleted = CreateTestData.GetSampleItem();
                toTest.RemoveItemById(toBeDeleted.Item_id);
                var NotExpected = CreateTestData.GetSampleItem();

                //Assert
                Items.Should().NotContain(toBeDeleted);
            }
        }
        public void CharacterCommons_itemExists_returnTrue()
        {
            //Arrange
            List <Item> items   = CreateTestData.GetListOfItems();
            var         mockSet = new Mock <DbSet <Item> >()
                                  .SetupData(items, o =>
            {
                return(items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            var realItem = CreateTestData.GetSampleItem();

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(mockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(mockSet.Object);

                IUnitOfWork     uow    = UoW_Factory.getUnitofWork(mockContext);
                IBaseUserAccess access = UserAccessFactory.getBaseUserAccess(uow);

                //Act
                ICharacterCommonFunctions toTest = ProcessorFactory.GetCharacterCommonFunctions(access);
                var actual = toTest.itemExists(realItem.Item_id);

                actual.Should().BeTrue();
            }
        }
        public void CharacterCommons_itemExists_returnFalse()
        {
            //Arrange
            List <Item> items   = CreateTestData.GetListOfItems();
            var         mockSet = new Mock <DbSet <Item> >()
                                  .SetupData(items, o =>
            {
                return(items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            var false_id = Guid.Parse("720f467c-7621-4dcf-a82f-7af50f253068");

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(mockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(mockSet.Object);

                IUnitOfWork     uow    = UoW_Factory.getUnitofWork(mockContext);
                IBaseUserAccess access = UserAccessFactory.getBaseUserAccess(uow);

                //Act
                ICharacterCommonFunctions toTest = ProcessorFactory.GetCharacterCommonFunctions(access);
                Action act = () => toTest.itemExists(false_id);

                //Assert
                act.Should().Throw <InvalidOperationException>().WithMessage("Sequence contains no matching element");
            }
        }
예제 #4
0
        public void ItemsRepository_GetItem_ValidCall()
        {
            //Arrange
            List <Item> Items   = CreateTestData.GetListOfItems();
            var         mockSet = new Mock <DbSet <Item> >()
                                  .SetupData(Items, o =>
            {
                return(Items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            using (var mockContext = AutoMock.GetLoose())
            {
                var expected = CreateTestData.GetSampleItem();
                var id       = expected.Item_id;

                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(mockSet.Object);

                //Act
                IItemsRepository toTest = mockContext.Create <ItemsRepository>();
                var actual = toTest.Get(id);

                //Assert
                actual.Should().NotBeNull();
                expected.Should().NotBeNull();
                actual.Should().BeOfType <Item>();
                expected.Should().BeOfType <Item>();
                actual.Should().BeEquivalentTo(expected);
            };
        }
        public void CharacterSerivces_buildHeldItemRowCM_ValidCall()
        {
            List <Item> items        = CreateTestData.GetListOfItems();
            var         itemsMockSet = new Mock <DbSet <Item> >()
                                       .SetupData(items, o =>
            {
                return(items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });
            HeldItemRowCM expected = CharacterMapper.mapItemToHeldItemRowCM(CreateTestData.GetSampleItem());
            Item          record   = CreateTestData.GetSampleItem();

            expected.Count      = 1;
            expected.isAttuned  = false;
            expected.isEquipped = false;
            expected.Index      = 1;
            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(itemsMockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(itemsMockSet.Object);

                IUnitOfWork     uow     = UoW_Factory.getUnitofWork(mockContext);
                IBaseUserAccess access  = UserAccessFactory.getBaseUserAccess(uow);
                var             creator = ProcessorFactory.getCreateCharacterProcessor(access);
                var             updater = ProcessorFactory.getUpdateCharacterProcessor(access);
                var             builder = ProcessorFactory.GetCharacterCMBuilder(access);

                //Act
                var toTest = ServicesFactory.GetCharacterService(creator, updater, builder);
                var actual = toTest.buildHeldItemRowCM(1, record.Item_id);

                actual.Should().BeEquivalentTo(expected);
            }
        }
예제 #6
0
        public void ItemsRepository_GetItemsHeldByCharacter_ValidCall()
        {
            //Arrange
            List <Character_Item> heldItems = CreateTestData.GetListOfHeldItems();
            List <Item>           itemset   = CreateTestData.GetListOfItems();
            var heldItemsMockSet            = new Mock <DbSet <Character_Item> >()
                                              .SetupData(heldItems, o =>
            {
                return(heldItems.Single(x => x.Character_id.CompareTo(o.First()) == 0));
            });

            var ItemsMockSet = new Mock <DbSet <Item> >()
                               .SetupData(itemset, o =>
            {
                return(itemset.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            var  Vax_id   = Guid.Parse("e3a0faef-99da-4d15-bff1-b535a42b955c");
            var  expected = new List <Item>();
            Item Whisper  = new Item()
            {
                Item_id            = Guid.Parse("709135c3-6f89-46cb-80ae-4097b621e3b0"),
                Name               = "Whisper",
                Description        = "A Legendary dagger that allows you to teleport to wherever it strikes",
                isEquippable       = true,
                isConsumable       = false,
                requiresAttunement = true,
                Value              = 999
            };

            expected.Add(Whisper);
            Item HealingPotion = new Item
            {
                Item_id            = Guid.Parse("2caa23dc-15e6-4a57-9bb6-62f6d8636ff7"),
                Name               = "Healing potion",
                Description        = "Upon consumption of the whole potion, the imbiber heals for 2d4+2 health.",
                isEquippable       = false,
                isConsumable       = true,
                requiresAttunement = false,
                Value              = 50
            };

            expected.Add(HealingPotion);
            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(ItemsMockSet.Object);

                mockContext.Mock <ItemsContext>()
                .Setup(x => x.HeldItems).Returns(heldItemsMockSet.Object);

                //Act
                IItemsRepository toTest = mockContext.Create <ItemsRepository>();
                var actual = toTest.GetItemsHeldBy(Vax_id);

                //Assert
                actual.Should().BeEquivalentTo(expected);
            }
        }
예제 #7
0
        public void CMBuilder_buildExistingHeldItemCM_ValidCall()
        {
            //Arrange
            List <Item> items       = CreateTestData.GetListOfItems();
            var         itemMockSet = new Mock <DbSet <Item> >()
                                      .SetupData(items, o =>
            {
                return(items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            List <Character_Item> heldItems = CreateTestData.GetListOfHeldItems();
            var heldItemsMockSet            = new Mock <DbSet <Character_Item> >()
                                              .SetupData(heldItems, o =>
            {
                return(heldItems.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            Item           item     = CreateTestData.GetSampleItem();
            Character_Item heldItem = CreateTestData.GetSampleHeldItem();

            HeldItemRowCM expected = CharacterMapper.mapItemToHeldItemRowCM(item);

            CharacterMapper.mapHeldItemRecordToHeldItemRowCM(heldItem, expected);


            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(itemMockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(itemMockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Character_Item>()).Returns(heldItemsMockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.HeldItems).Returns(heldItemsMockSet.Object);

                IUnitOfWork     uow    = UoW_Factory.getUnitofWork(mockContext);
                IBaseUserAccess access = UserAccessFactory.getBaseUserAccess(uow);

                //Act
                ICharacterCMBuilder toTest = ProcessorFactory.GetCharacterCMBuilder(access);
                var actual = toTest.buildExistingHeldItemRowCM(heldItem.Character_id, heldItem.Item_id);

                actual.Should().BeEquivalentTo(expected);
            }
        }
        public void ItemsSearch_DescriptionContainsFilter_DescriptionContainsGauntlets()
        {
            //Arrange
            List <Item> items   = CreateTestData.GetListOfItems();
            var         mockSet = new Mock <DbSet <Item> >()
                                  .SetupData(items, o =>
            {
                return(items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            List <Item> expected           = new List <Item>();
            Item        TitanstoneKnuckles = new Item
            {
                Item_id            = Guid.Parse("026a7dff-5e85-4e6d-94c6-6613828e5df6"),
                Name               = "Titanstone Knuckles",
                Description        = "Gauntlets fashioned from the Titan of Stone, enhancing your strength to rival that of the gods.",
                isEquippable       = true,
                isConsumable       = false,
                requiresAttunement = true,
                Value              = 999
            };

            expected.Add(TitanstoneKnuckles);

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(mockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(mockSet.Object);


                ItemsContext context = mockContext.Create <ItemsContext>();

                //Act
                ItemSearchToDecorate baseObject = new ItemSearchToDecorate(context);
                DescriptionContains  toTest     = new DescriptionContains("Gauntlets");
                toTest.setToBeDecorated(baseObject);
                var actual = toTest.GetItems().ToList();

                //Assert
                actual.Should().BeEquivalentTo(expected);
            }
        }
예제 #9
0
        public void ItemsRepository_CharacterObtainsItem_ByIDs_ValidCall()
        {
            //Arrange
            List <Character_Item> heldItems = new List <Character_Item>();
            List <Item>           items     = CreateTestData.GetListOfItems();
            var heldItemsMockSet            = new Mock <DbSet <Character_Item> >()
                                              .SetupData(heldItems, o =>
            {
                return(heldItems.Single(x => x.Character_id.CompareTo(o.First()) == 0));
            });

            var ItemsMockSet = new Mock <DbSet <Item> >()
                               .SetupData(items, o =>
            {
                return(items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            using (var mockContext = AutoMock.GetLoose())
            {
                var Whisper    = CreateTestData.GetSampleItem();
                var Whisper_id = Whisper.Item_id;
                var Vax_id     = Guid.Parse("e3a0faef-99da-4d15-bff1-b535a42b955c");

                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(ItemsMockSet.Object);

                mockContext.Mock <ItemsContext>()
                .Setup(x => x.HeldItems).Returns(heldItemsMockSet.Object);

                //Act
                IItemsRepository toTest = mockContext.Create <ItemsRepository>();
                toTest.CharacterObtainsItem(Vax_id, Whisper_id);

                var actual = toTest.GetItemsHeldBy(Vax_id);

                //Assert
                actual.Should().ContainEquivalentOf(Whisper);
            }
        }
        public void ItemsSearchFacade_GetByNameContainingKNUCKLES_ReturnPagedList()
        {
            //Arrange
            List <Item> items   = CreateTestData.GetListOfItems();
            var         mockSet = new Mock <DbSet <Item> >()
                                  .SetupData(items, o =>
            {
                return(items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            List <foundItemCM> expectedList = new List <foundItemCM>();
            foundItemCM        Knuckles     = new foundItemCM
            {
                Item_id = Guid.Parse("026a7dff-5e85-4e6d-94c6-6613828e5df6"),
                Name    = "Titanstone Knuckles"
            };

            expectedList.Add(Knuckles);
            IPagedList <foundItemCM> expected = expectedList.ToPagedList(1, 20);

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(mockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(mockSet.Object);

                ItemsContext context = mockContext.Create <ItemsContext>();

                //Act
                ItemSearchFacade toTest = new ItemSearchFacade(context);
                var actual = toTest.searchItemsToPagedList("KNUCKLES", "Name", 1);

                //Assert
                actual.Should().BeEquivalentTo(expected);
            }
        }
예제 #11
0
        public void CMBuilder_buildItemDetailsCM_ValidCall()
        {
            //Arrange
            List <Item> Items = CreateTestData.GetListOfItems();

            List <Item_Tag> itemTags  = CreateTestData.GetListOfItemTags();
            List <Tag>      tags      = CreateTestData.GetListOfTags();
            var             ITmockSet = new Mock <DbSet <Item_Tag> >()
                                        .SetupData(itemTags, o =>
            {
                return(itemTags.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });
            var tagsMockSet = new Mock <DbSet <Tag> >()
                              .SetupData(tags, o =>
            {
                return(tags.Single(x => x.Tag_id.CompareTo(o.First()) == 0));
            });
            var itemsMockSet = new Mock <DbSet <Item> >()
                               .SetupData(Items, o =>
            {
                return(Items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            Item          Whisper  = CreateTestData.GetSampleItem();
            ItemDetailsCM expected = new ItemDetailsCM
            {
                Item_id            = Whisper.Item_id,
                Name               = Whisper.Name,
                Description        = Whisper.Description,
                Value              = Whisper.Value,
                isEquippable       = Whisper.isEquippable,
                isConsumable       = Whisper.isConsumable,
                requiresAttunement = Whisper.requiresAttunement
            };

            String[] whisperTags = new string[2];
            whisperTags[0] = "Weapon";
            whisperTags[1] = "Wondorous Item";
            expected.Tags  = whisperTags;

            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Tags).Returns(tagsMockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Tag>()).Returns(tagsMockSet.Object);

                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Item_Tags).Returns(ITmockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item_Tag>()).Returns(ITmockSet.Object);

                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(itemsMockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(itemsMockSet.Object);

                IUnitOfWork     uow    = UoW_Factory.getUnitofWork(mockContext);
                IBaseUserAccess access = UserAccessFactory.getBaseUserAccess(uow);

                //Act
                ICharacterCMBuilder toTest = ProcessorFactory.GetCharacterCMBuilder(access);
                var actual = toTest.buildItemDetailsCM(Whisper.Item_id);

                //Assert
                actual.Should().BeEquivalentTo(expected);
            }
        }
예제 #12
0
        public void CMBuilder_buildHeldItemRowCMsForCharacter_ValidCall()
        {
            List <Item> items       = CreateTestData.GetListOfItems();
            var         itemMockSet = new Mock <DbSet <Item> >()
                                      .SetupData(items, o =>
            {
                return(items.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });

            List <Character_Item> heldItems = CreateTestData.GetListOfHeldItems();
            var heldItemsMockSet            = new Mock <DbSet <Character_Item> >()
                                              .SetupData(heldItems, o =>
            {
                return(heldItems.Single(x => x.Item_id.CompareTo(o.First()) == 0));
            });
            List <HeldItemRowCM> expected = new List <HeldItemRowCM>();

            Item           Whisper         = CreateTestData.GetSampleItem();
            Character_Item VaxHoldsWhisper = CreateTestData.GetSampleHeldItem();
            HeldItemRowCM  Vax_Whisper     = CharacterMapper.mapItemToHeldItemRowCM(Whisper);

            CharacterMapper.mapHeldItemRecordToHeldItemRowCM(VaxHoldsWhisper, Vax_Whisper);
            Vax_Whisper.Index = 0;
            expected.Add(Vax_Whisper);

            Item HealingPotion = new Item
            {
                Item_id            = Guid.Parse("2caa23dc-15e6-4a57-9bb6-62f6d8636ff7"),
                Name               = "Healing potion",
                Description        = "Upon consumption of the whole potion, the imbiber heals for 2d4+2 health.",
                isEquippable       = false,
                isConsumable       = true,
                requiresAttunement = false,
                Value              = 50
            };
            Character_Item VaxHoldsPotions = new Character_Item
            {
                Character_id = Guid.Parse("e3a0faef-99da-4d15-bff1-b535a42b955c"),
                Item_id      = Guid.Parse("2caa23dc-15e6-4a57-9bb6-62f6d8636ff7"),
                count        = 3
            };
            HeldItemRowCM Vax_Potions = CharacterMapper.mapItemToHeldItemRowCM(HealingPotion);

            CharacterMapper.mapHeldItemRecordToHeldItemRowCM(VaxHoldsPotions, Vax_Potions);
            Vax_Potions.Index = 1;
            expected.Add(Vax_Potions);

            Guid Vax_id = Guid.Parse("e3a0faef-99da-4d15-bff1-b535a42b955c");


            using (var mockContext = AutoMock.GetLoose())
            {
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Item>()).Returns(itemMockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Items).Returns(itemMockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.Set <Character_Item>()).Returns(heldItemsMockSet.Object);
                mockContext.Mock <ItemsContext>()
                .Setup(x => x.HeldItems).Returns(heldItemsMockSet.Object);

                IUnitOfWork     uow    = UoW_Factory.getUnitofWork(mockContext);
                IBaseUserAccess access = UserAccessFactory.getBaseUserAccess(uow);

                //Act
                ICharacterCMBuilder toTest = ProcessorFactory.GetCharacterCMBuilder(access);
                var actual = toTest.buildItemRowCMsForCharacter(Vax_id);

                actual.Should().BeEquivalentTo(expected);
            }
        }