public void property_exists_save_should_update_property() { //arange string value = Guid.NewGuid().ToString(); string value2 = Guid.NewGuid().ToString(); string id = "12345"; var setsContainer = new AttributeSetsContainer(); var attsetsMock = MockFactory.CreateAttributeSets(setsContainer); var setContainer = new AttributeSetContainer(); setContainer.Name = "one"; var attributeSet = MockFactory.CreateAttributeSet(setContainer, attsetsMock.Object).Object; setsContainer.AttributeSets.Add(attributeSet); setContainer.Attributes.Add(MockFactory.CreateAttribute(id, ValueTypeEnum.kStringType, value, attributeSet)); var applicationMock = new Mock <IApplicationService>(); applicationMock.Setup(x => x.GetCurrentDocumentAttributeSets()).Returns(attsetsMock.Object); var businessClass = new MyBusinessClass(applicationMock.Object); //act businessClass.SaveMyProperty(value2, id); //assert setContainer.Attributes.Count.Should().Be(1); (setContainer.Attributes[1].Value as string).Should().Be(value2); }
public static Mock <AttributeSets> CreateAttributeSets(AttributeSetsContainer container) { var attSetsMock = new Mock <AttributeSets>(); attSetsMock.Setup(x => x.Count).Returns(() => { return(container.AttributeSets.Count); }); attSetsMock.Setup(m => m[It.IsAny <int>()]).Returns <int>(i => container.AttributeSets.ElementAt(i)); attSetsMock.As <IEnumerable>().Setup(m => m.GetEnumerator()).Returns(() => container.AttributeSets.GetEnumerator()); attSetsMock.Setup(x => x.Add(It.IsAny <string>(), It.IsAny <bool>())) .Returns <string, bool>( (s, b) => { var c = new AttributeSetContainer() { Name = s }; var attributeSet = CreateAttributeSet(c, attSetsMock.Object); container.Containers.Add(c); container.AttributeSets.Add(attributeSet.Object); return(attributeSet.Object); }); attSetsMock.Setup(x => x.get_NameIsUsed(It.IsAny <string>())).Returns <string>(r => container.AttributeSets.Any(y => y.Name == r)); return(attSetsMock); }
public static Mock <AttributeSet> CreateAttributeSet(AttributeSetContainer container, AttributeSets parent) { var attMock = new Mock <AttributeSet>(); attMock.Setup(x => x.Name).Returns(container.Name); attMock.As <AttributeSet>().Setup(x => x.Count).Returns(() => { return(container.Attributes.Count); }); attMock.Setup(m => m[It.IsAny <int>()]).Returns <int>(i => container.Attributes.ElementAt(i).Value); attMock.As <IEnumerable>().Setup(m => m.GetEnumerator()).Returns(() => container.Attributes.GetEnumerator()); attMock.Setup(x => x.Add(It.IsAny <string>(), It.IsAny <ValueTypeEnum>(), It.IsAny <object>())) .Returns <string, ValueTypeEnum, object>( (s, v, o) => { var item = MockFactory.CreateAttribute(s, v, o, attMock.Object); container.Attributes.Add(item); return(item); }); attMock.Setup(x => x.get_NameIsUsed(It.IsAny <string>())).Returns <string>(r => container.Attributes.Any(y => y.Name == r)); attMock.Setup(x => x.Parent).Returns(parent); return(attMock); }