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"); } }
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); } }
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); } }
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); } }
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); } }
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); } }
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); } }