public void TestImplementingMultipleDropDownForToNotEnumerableProperty() { var builder = new GenericUserInterfaceModelBuilder <SomeType>(TestsHelper.CreateDefaultBag()); var ex = Assert.Throws <InvalidOperationException>(() => builder.GetBlockBuilderForCollection(x => x.Prop1)); Assert.AreEqual(ex.Message, ExceptionTexts.DontUseGetBlockBuilderForCollectionOnCollectionsOfChars); }
public void TestClassWithByteArrayProp() { var result = new GenericUserInterfaceModelBuilder <ClassWithByteProp>(TestsHelper.CreateDefaultBag()).Result; var block = result.Interface.Blocks.First(); Assert.AreEqual(nameof(ClassWithByteProp.Property), block.LabelText); Assert.AreEqual(UserInterfaceType.MultipleDropDownList, block.InterfaceType); Assert.AreEqual(0, block.DropDownData.SelectList.Count); }
public void CollectionOfComplexObjects_ShouldFail() { var ex = Assert.Throws <InvalidOperationException>(() => { new GenericUserInterfaceModelBuilder <SomeType>(TestsHelper.CreateDefaultBag()); }); var mes = string.Format(ExceptionTexts.ClassesWithMultiDimensionalArrayPropertiesAreNotSupported, nameof(SomeType.ComplexCollectionType), typeof(int[]).FullName); Assert.AreEqual(mes, ex.Message); }
public void ToEnumProperty_ShouldThrowException() { var builder = new GenericUserInterfaceModelBuilder <SomeClass>(TestsHelper.CreateDefaultBag()); var ex = Assert.Throws <InvalidOperationException>(() => builder.GetBlockBuilder(x => x.EnumProp).SetDropDownList(new List <SelectListItemData <SomeEnumType> >() { new SelectListItemData <SomeEnumType> { Selected = true, Value = SomeEnumType.Type1, } })); var expectedMessage = string.Format(ExceptionTexts.CantImplementSetDropListNameToEnumPropertyFormat, nameof(SomeClass.EnumProp)); Assert.AreEqual(expectedMessage, ex.Message); }
public void Test() { var builder = new GenericUserInterfaceModelBuilder <SomeClass>(TestsHelper.CreateDefaultBag()); var list = new List <SelectListItemData <bool?> > { new SelectListItemData <bool?> { Selected = true, Text = "Text", } }; builder.GetBlockBuilder(x => x.Sex).SetDropDownList(list); var lastProp = builder.Result.Interface.Blocks.Last(); Assert.IsTrue(lastProp.InterfaceType == UserInterfaceType.DropDownList); TestsHelper.AssertAreEqualViaJson(GenericUserInterfaceModelBuilderMappings.ToSelectListItems(list), lastProp.DropDownData.SelectList); }
public void SetOnEnumerableOfPrimitives_ShouldBeOk() { var propName = nameof(SomeType.Prop4); var defaultValue = ""; var interfaceModel = new GenericUserInterfaceModelBuilder <SomeType>(TestsHelper.CreateDefaultBag()) .GetBlockBuilderForCollection(x => x.Prop4) .SetMultipleDropDownList(new List <SelectListItemData <string> > { new SelectListItemData <string> { Selected = true, Text = "SomeText", Value = defaultValue } }).Result; var block = interfaceModel.Interface.Blocks.First(x => x.PropertyName == propName); Assert.AreEqual(UserInterfaceType.MultipleDropDownList, block.InterfaceType); Assert.AreEqual(1, block.DropDownData.SelectList.Count); }
public void TestClassOnComplexArrayProp() { var result = new GenericUserInterfaceModelBuilder <ClassWithComplexArrayProp>(TestsHelper.CreateDefaultBag()).Result; Assert.AreEqual(1, result.Interface.Blocks.Count); var block = result.Interface.Blocks.First(); Assert.AreEqual(nameof(ClassWithComplexArrayProp.Property), block.PropertyName); Assert.AreEqual(UserInterfaceType.GenericInterfaceForArray, block.InterfaceType); var innerInterface = block.InnerGenericInterface; Assert.AreEqual(nameof(ClassWithComplexArrayProp.Property), innerInterface.Prefix); Assert.AreEqual(2, innerInterface.Blocks.Count); var firstBlock = innerInterface.Blocks.First(); Assert.AreEqual(nameof(SomeComplexType.Name), firstBlock.PropertyName); var lastBlock = innerInterface.Blocks.Last(); Assert.AreEqual(nameof(SomeComplexType.Description), lastBlock.PropertyName); }