public void CatSetLength()
 {
     var hbm = new HbmMapKey();
     var mapper = new MapKeyMapper(hbm);
     mapper.Length(55);
     hbm.length.Should().Be("55");
 }
 public void AfterSetMultiColumnsCantSetSimpleColumn()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
     mapper.Executing(m => m.Column(cm => cm.Length(50))).Throws<ConfOrm.MappingException>();
 }
 public void CatSetColumnByName()
 {
     var hbm = new HbmMapKey();
     var mapper = new MapKeyMapper(hbm);
     mapper.Column("pizza");
     hbm.column.Should().Be("pizza");
 }
 public void SettingColumnOverridesFormula()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Formula("formula");
     mapper.Column(cm => cm.Unique(true));
     mapping.formula.Should().Be.Null();
 }
        public void CanSetFormula()
        {
            var mapping = new HbmMapKey();
            var mapper = new MapKeyMapper(mapping);

            mapper.Formula("SomeFormula");
            mapping.formula.Should().Be("SomeFormula");
        }
 public void SettingColumnPlainValuesOverridesFormula()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Formula("formula");
     mapper.Column("colName");
     mapping.formula.Should().Be.Null();
     mapping.column.Should().Be("colName");
 }
 public void Element(Action<IMapKeyMapper> mapping)
 {
     if (mapKeyMapper == null)
     {
         var hbm = new HbmMapKey { type = dictionaryKeyType.GetNhTypeName() };
         mapKeyMapper = new MapKeyMapper(hbm);
     }
     mapping(mapKeyMapper);
     mapMapping.Item = mapKeyMapper.MapKeyMapping;
 }
 public void SettingFormulaOverridesColumnNodes()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Column(cm => cm.SqlType("VARCHAR(80)"));
     mapper.Formula("formula");
     mapping.formula.Should().Be("formula");
     mapping.column.Should().Be(null);
     mapping.Items.Should().Be.Null();
 }
 public void WhenSetFormulaThenResetColumn()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Column("MyColumn");
     mapper.Formula("SomeFormula");
     mapping.formula.Should().Be("SomeFormula");
     mapping.column.Should().Be.Null();
     mapping.Items.Should().Be.Null();
 }
 public void WhenSetBasicColumnValuesThenSetPlainValues()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Column(cm =>
     {
         cm.Length(50);
     });
     mapping.Items.Should().Be.Null();
     mapping.length.Should().Be("50");
 }
        public void WhenSetBasicColumnValuesThroughShortCutThenMergeColumn()
        {
            var mapping = new HbmMapKey();
            var mapper = new MapKeyMapper(mapping);
            mapper.Column("pizza");
            mapper.Length(50);

            mapping.Items.Should().Be.Null();
            mapping.column.Should().Be("pizza");
            mapping.length.Should().Be("50");
        }
 public void WhenSetColumnValuesThenAddColumnTag()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Column(cm =>
     {
         cm.SqlType("VARCHAR(50)");
         cm.NotNullable(true);
     });
     mapping.Items.Should().Not.Be.Null();
     mapping.Columns.Should().Have.Count.EqualTo(1);
 }
        public void WhenSetTypeByITypeThenSetTypeName()
        {
            var mapping = new HbmMapKey();
            var mapper = new MapKeyMapper(mapping);
            mapper.Type(NHibernateUtil.String);

            mapping.Type.name.Should().Be.EqualTo("String");
        }
 public void WhenSetFormulaWithMultipleLinesThenSetFormulaNode()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     var formula = @"Line1
     Line2";
     mapper.Formula(formula);
     mapping.formula.Should().Be.Null();
     mapping.Items.FirstOrDefault().Should().Not.Be.Null().And.Be.OfType<HbmFormula>();
     var hbmFormula = (HbmFormula)(mapping.Items.First());
     hbmFormula.Text.Length.Should().Be(2);
     hbmFormula.Text[0].Should().Be("Line1");
     hbmFormula.Text[1].Should().Be("Line2");
 }
        public void WhenSetTypeByITypeTypeThenSetType()
        {
            var mapping = new HbmMapKey();
            var mapper = new MapKeyMapper(mapping);
            mapper.Type<EnumStringType<MyEnum>>();

            mapping.Type.name.Should().Contain(typeof(EnumStringType<MyEnum>).FullName);
        }
        public void WhenSetTypeByIUserTypeThenSetTypeName()
        {
            var mapping = new HbmMapKey();
            var mapper = new MapKeyMapper(mapping);
            mapper.Type<MyType>();

            mapping.Type.name.Should().Contain("MyType");
        }
 public void WhenSetMultiColumnsValuesThenAutoassignColumnNames()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Columns(cm => cm.Length(50), cm => cm.SqlType("VARCHAR(10)"));
     mapping.Columns.Should().Have.Count.EqualTo(2);
     mapping.Columns.All(cm => cm.name.Satisfy(n => !string.IsNullOrEmpty(n)));
 }
        public void WhenSetDifferentColumnNameThenSetTheName()
        {
            var mapping = new HbmMapKey();
            var mapper = new MapKeyMapper(mapping);
            mapper.Column(cm => cm.Name("pepe"));

            mapping.Columns.Should().Have.Count.EqualTo(1);
            mapping.Columns.Single().name.Should().Be("pepe");
        }
 public void WhenSetFormulaWithNullThenDoNothing()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Column("MyColumn");
     mapper.Formula(null);
     mapping.formula.Should().Be.Null();
     mapping.column.Should().Not.Be.Null();
 }
		public void BindSimpleValue(HbmMapKey mapKeyMapping, string propertyPath, bool isNullable)
		{
			new TypeBinder(value, Mappings).Bind(mapKeyMapping.Type);
			var formulas = mapKeyMapping.Formulas.ToArray();
			if (formulas.Length > 0)
			{
				BindFormulas(formulas);
			}
			else
			{
				new ColumnsBinder(value, Mappings).Bind(mapKeyMapping.Columns, isNullable,
				                                        () =>
				                                        new HbmColumn
				                                        	{
				                                        		name = mappings.NamingStrategy.PropertyToColumnName(propertyPath),
				                                        		length = mapKeyMapping.length
				                                        	});
			}
		}
 public void WhenSetMultiColumnsValuesThenAddColumns()
 {
     var mapping = new HbmMapKey();
     var mapper = new MapKeyMapper(mapping);
     mapper.Type<MyType>();
     mapper.Columns(cm =>
     {
         cm.Name("column1");
         cm.Length(50);
     }, cm =>
     {
         cm.Name("column2");
         cm.SqlType("VARCHAR(10)");
     });
     mapping.Columns.Should().Have.Count.EqualTo(2);
 }