PageRenderTime 93ms CodeModel.GetById 35ms app.highlight 38ms RepoModel.GetById 1ms app.codeStats 0ms

/src/FluentNHibernate.Testing/FluentInterfaceTests/AnyMutablePropertyModelGenerationTests.cs

https://github.com/kenegozi/fluent-nhibernate
C# | 282 lines | 259 code | 23 blank | 0 comment | 0 complexity | 6aecb49994d125ad78522a64860c8994 MD5 | raw file
Possible License(s): BSD-3-Clause
  1using System.Linq;
  2using FluentNHibernate.MappingModel;
  3using FluentNHibernate.Testing.DomainModel;
  4using FluentNHibernate.Testing.DomainModel.Mapping;
  5using NUnit.Framework;
  6
  7namespace FluentNHibernate.Testing.FluentInterfaceTests
  8{
  9    [TestFixture]
 10    public class AnyMutablePropertyModelGenerationTests : BaseModelFixture
 11    {
 12        [Test]
 13        public void AccessSetsModelAccessPropertyToValue()
 14        {
 15            Any<SecondMappedObject>()
 16                .Mapping(m => m
 17                    .IdentityType<int>()
 18                    .EntityIdentifierColumn("col")
 19                    .EntityTypeColumn("col2")
 20                    .Access.Field())
 21                .ModelShouldMatch(x => x.Access.ShouldEqual("field"));
 22        }
 23
 24        [Test]
 25        public void CascadeSetsModelCascadePropertyToValue()
 26        {
 27            Any<SecondMappedObject>()
 28                .Mapping(m => m
 29                    .IdentityType<int>()
 30                    .EntityIdentifierColumn("col")
 31                    .EntityTypeColumn("col2")
 32                    .Cascade.All())
 33                .ModelShouldMatch(x => x.Cascade.ShouldEqual("all"));
 34        }
 35
 36        [Test]
 37        public void IdentityTypeSetsModelIdTypePropertyToPropertyTypeName()
 38        {
 39            Any<SecondMappedObject>()
 40                .Mapping(m => m
 41                    .IdentityType(x => x.Id)
 42                    .EntityIdentifierColumn("col")
 43                    .EntityTypeColumn("col2"))
 44                .ModelShouldMatch(x => x.IdType.ShouldEqual(typeof(long).AssemblyQualifiedName));
 45        }
 46
 47        [Test]
 48        public void IdentityTypeSetsModelIdTypePropertyToTypeName()
 49        {
 50            Any<SecondMappedObject>()
 51                .Mapping(m => m
 52                    .IdentityType<int>()
 53                    .EntityIdentifierColumn("col")
 54                    .EntityTypeColumn("col2"))
 55                .ModelShouldMatch(x => x.IdType.ShouldEqual(typeof(int).AssemblyQualifiedName));
 56        }
 57
 58        [Test]
 59        public void InsertSetsModelInsertPropertyToTrue()
 60        {
 61            Any<SecondMappedObject>()
 62                .Mapping(m => m
 63                    .IdentityType<int>()
 64                    .EntityIdentifierColumn("col")
 65                    .EntityTypeColumn("col2")
 66                    .Insert())
 67                .ModelShouldMatch(x => x.Insert.ShouldBeTrue());
 68        }
 69
 70        [Test]
 71        public void NotInsertSetsModelInsertPropertyToFalse()
 72        {
 73            Any<SecondMappedObject>()
 74                .Mapping(m => m
 75                    .IdentityType<int>()
 76                    .EntityIdentifierColumn("col")
 77                    .EntityTypeColumn("col2")
 78                    .Not.Insert())
 79                .ModelShouldMatch(x => x.Insert.ShouldBeFalse());
 80        }
 81
 82        [Test]
 83        public void UpdateSetsModelUpdatePropertyToTrue()
 84        {
 85            Any<SecondMappedObject>()
 86                .Mapping(m => m
 87                    .IdentityType<int>()
 88                    .EntityIdentifierColumn("col")
 89                    .EntityTypeColumn("col2")
 90                    .Update())
 91                .ModelShouldMatch(x => x.Update.ShouldBeTrue());
 92        }
 93
 94        [Test]
 95        public void NotUpdateSetsModelUpdatePropertyToFalse()
 96        {
 97            Any<SecondMappedObject>()
 98                .Mapping(m => m
 99                    .IdentityType<int>()
100                    .EntityIdentifierColumn("col")
101                    .EntityTypeColumn("col2")
102                    .Not.Update())
103                .ModelShouldMatch(x => x.Update.ShouldBeFalse());
104        }
105
106        [Test]
107        public void ReadOnlySetsModelInsertPropertyToFalse()
108        {
109            Any<SecondMappedObject>()
110                .Mapping(m => m
111                    .IdentityType<int>()
112                    .EntityIdentifierColumn("col")
113                    .EntityTypeColumn("col2")
114                    .ReadOnly())
115                .ModelShouldMatch(x => x.Insert.ShouldBeFalse());
116        }
117
118        [Test]
119        public void NotReadOnlySetsModelInsertPropertyToTrue()
120        {
121            Any<SecondMappedObject>()
122                .Mapping(m => m
123                    .IdentityType<int>()
124                    .EntityIdentifierColumn("col")
125                    .EntityTypeColumn("col2")
126                    .Not.ReadOnly())
127                .ModelShouldMatch(x => x.Insert.ShouldBeTrue());
128        }
129
130        [Test]
131        public void ReadOnlySetsModelUpdatePropertyToFalse()
132        {
133            Any<SecondMappedObject>()
134                .Mapping(m => m
135                    .IdentityType<int>()
136                    .EntityIdentifierColumn("col")
137                    .EntityTypeColumn("col2")
138                    .ReadOnly())
139                .ModelShouldMatch(x => x.Update.ShouldBeFalse());
140        }
141
142        [Test]
143        public void NotReadOnlySetsModelUpdatePropertyToTrue()
144        {
145            Any<SecondMappedObject>()
146                .Mapping(m => m
147                    .IdentityType<int>()
148                    .EntityIdentifierColumn("col")
149                    .EntityTypeColumn("col2")
150                    .Not.ReadOnly())
151                .ModelShouldMatch(x => x.Update.ShouldBeTrue());
152        }
153
154        [Test]
155        public void LazyLoadSetsModelLazyPropertyToTrue()
156        {
157            Any<SecondMappedObject>()
158                .Mapping(m => m
159                    .IdentityType<int>()
160                    .EntityIdentifierColumn("col")
161                    .EntityTypeColumn("col2")
162                    .LazyLoad())
163                .ModelShouldMatch(x => x.Lazy.ShouldBeTrue());
164        }
165
166        [Test]
167        public void NotLazyLoadSetsModelLazyPropertyToFalse()
168        {
169            Any<SecondMappedObject>()
170                .Mapping(m => m
171                    .IdentityType<int>()
172                    .EntityIdentifierColumn("col")
173                    .EntityTypeColumn("col2")
174                    .Not.LazyLoad())
175                .ModelShouldMatch(x => x.Lazy.ShouldBeFalse());
176        }
177
178        [Test]
179        public void OptimisticLockSetsModelOptimisticLockPropertyToTrue()
180        {
181            Any<SecondMappedObject>()
182                .Mapping(m => m
183                    .IdentityType<int>()
184                    .EntityIdentifierColumn("col")
185                    .EntityTypeColumn("col2")
186                    .OptimisticLock())
187                .ModelShouldMatch(x => x.OptimisticLock.ShouldBeTrue());
188        }
189
190        [Test]
191        public void NotOptimisticLockSetsModelOptimisticLockPropertyToFalse()
192        {
193            Any<SecondMappedObject>()
194                .Mapping(m => m
195                    .IdentityType<int>()
196                    .EntityIdentifierColumn("col")
197                    .EntityTypeColumn("col2")
198                    .Not.OptimisticLock())
199                .ModelShouldMatch(x => x.OptimisticLock.ShouldBeFalse());
200        }
201
202        [Test]
203        public void MetaTypePropertyShouldBeSetToPropertyTypeIfNoMetaValuesSet()
204        {
205            Any<SecondMappedObject>()
206                .Mapping(m => m
207                    .IdentityType<int>()
208                    .EntityIdentifierColumn("col")
209                    .EntityTypeColumn("col2"))
210                .ModelShouldMatch(x => x.MetaType.ShouldEqual(new TypeReference(typeof(SecondMappedObject))));
211        }
212
213        [Test]
214        public void MetaTypePropertyShouldBeSetToStringIfMetaValuesSet()
215        {
216            Any<SecondMappedObject>()
217                .Mapping(m => m
218                    .IdentityType<int>()
219                    .EntityIdentifierColumn("col")
220                    .EntityTypeColumn("col2")
221                    .AddMetaValue<Record>("Rec"))
222                .ModelShouldMatch(x => x.MetaType.ShouldEqual(new TypeReference(typeof(string))));
223        }
224
225        [Test]
226        public void NamePropertyShouldBeSetToPropertyName()
227        {
228            Any<SecondMappedObject>()
229                .Mapping(m => m
230                    .IdentityType<int>()
231                    .EntityIdentifierColumn("col")
232                    .EntityTypeColumn("col2"))
233                .ModelShouldMatch(x => x.Name.ShouldEqual("Parent"));
234        }
235
236        [Test]
237        public void EntityIdentifierColumnShouldAddToModelColumnsCollection()
238        {
239            Any<SecondMappedObject>()
240                .Mapping(m => m
241                    .IdentityType<int>()
242                    .EntityIdentifierColumn("col")
243                    .EntityTypeColumn("col2"))
244                .ModelShouldMatch(x => x.IdentifierColumns.Count().ShouldEqual(1));
245        }
246
247        [Test]
248        public void EntityTypeColumnShouldAddToModelColumnsCollection()
249        {
250            Any<SecondMappedObject>()
251                .Mapping(m => m
252                    .IdentityType<int>()
253                    .EntityIdentifierColumn("col")
254                    .EntityTypeColumn("col2"))
255                .ModelShouldMatch(x => x.TypeColumns.Count().ShouldEqual(1));
256        }
257
258        [Test]
259        public void AddMetaValueShouldAddToModelMetaValuesCollection()
260        {
261            Any<SecondMappedObject>()
262                .Mapping(m => m
263                    .IdentityType<int>()
264                    .EntityIdentifierColumn("col")
265                    .EntityTypeColumn("col2")
266                    .AddMetaValue<Record>("Rec"))
267                .ModelShouldMatch(x => x.MetaValues.Count().ShouldEqual(1));
268        }
269
270        [Test]
271        public void MetaTypeShouldSetMetaTypePropertyOnModel()
272        {
273            Any<SecondMappedObject>()
274                .Mapping(m => m
275                    .IdentityType<int>()
276                    .EntityIdentifierColumn("col")
277                    .EntityTypeColumn("col2")
278                    .MetaType<object>())
279                .ModelShouldMatch(x => x.MetaType.ShouldEqual(new TypeReference(typeof(object))));
280        }
281    }
282}