-
Notifications
You must be signed in to change notification settings - Fork 686
/
XmlManyToOneWriterTester.cs
141 lines (111 loc) · 4.31 KB
/
XmlManyToOneWriterTester.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
using FluentNHibernate.MappingModel;
using FluentNHibernate.MappingModel.Output;
using FluentNHibernate.Testing.DomainModel;
using FluentNHibernate.Testing.Testing;
using NUnit.Framework;
namespace FluentNHibernate.Testing.MappingModel.Output
{
[TestFixture]
public class XmlManyToOneWriterTester
{
private IXmlWriter<ManyToOneMapping> writer;
[SetUp]
public void GetWriterFromContainer()
{
var container = new XmlWriterContainer();
writer = container.Resolve<IXmlWriter<ManyToOneMapping>>();
}
[Test]
public void ShouldWriteAccessAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.Access, "access").MapsToAttribute("access");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteCascadeAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.Cascade, "all").MapsToAttribute("cascade");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteClassAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.Class, new TypeReference(typeof(Record))).MapsToAttribute("class");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteFetchAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.Fetch, "select").MapsToAttribute("fetch");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteForeignKeyAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.ForeignKey, "fk").MapsToAttribute("foreign-key");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteInsertAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.Insert, true).MapsToAttribute("insert");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteLazyAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.Lazy, true).MapsToAttribute("lazy");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteNameAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.Name, "nm").MapsToAttribute("name");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteNotFoundAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.NotFound, "nf").MapsToAttribute("not-found");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteOuterJoinAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.OuterJoin, "outer-join").MapsToAttribute("outer-join");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWritePropertyRefAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.PropertyRef, "pr").MapsToAttribute("property-ref");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteUpdateAttribute()
{
var testHelper = new XmlWriterTestHelper<ManyToOneMapping>();
testHelper.Check(x => x.Update, true).MapsToAttribute("update");
testHelper.VerifyAll(writer);
}
[Test]
public void ShouldWriteColumns()
{
var mapping = new ManyToOneMapping();
mapping.AddColumn(new ColumnMapping());
writer.VerifyXml(mapping)
.Element("column").Exists();
}
}
}