エラーの正確な理由を突き止めようとして、何日もこの混乱に苦しんでいます。一言、失敗!基本的に、私は別の を参照ClassMap
するいくつかで書いた a を単体テストしようとしています。reference
reference
[TestMethod]
public void IssueReturnRegisterMap_Create_Success()
{
var maxDifference = TimeSpan.FromMilliseconds(990);
BookSize sz = new BookSize() { ID = "1", Name = "A" };
Department dpt = new Department() { ID = "1", Name = "Philosophy" };
Author auth = new Author() { ID = "2", FirstName = "Wise", LastName = "Person" };
Publisher pub = new Publisher() { ID = "1", Name = "Pub1", Address = "Address 1" };
Language lang = new Language() { ID = "1", Name = "Lang1" };
Patron ptrn = new Patron()
{
ID = "1",
FirstName = "First",
LastName = "Last",
Age = 82,
Address = "Address1",
Gender = "Male",
Occupation = "Occupation1",
Telephone1 = "01234567890",
Telephone2 = "01234567890"
};
Book book = new Book()
{
ID = "1",
Name = "Book1",
Number = "12",
BookSize = sz,
Department = dpt,
Author = auth,
Commentator = "Another wiseman",
Publisher = pub,
Language = lang,
};
Member member = new Member()
{
ID = "1",
Patron = ptrn,
IsRegistered = true
};
//Edit: Acc. to Firo's suggestion
Database.Session.Save( sz );
Database.Session.Save( dpt );
Database.Session.Save( auth );
Database.Session.Save( lang );
Database.Session.Save( pub );
Database.Session.Save( ptrn );
Database.Session.Save( book ); //@Firo: Throws same exception here! :-(
Database.Session.Save( member );
new PersistenceSpecification<IssueReturnEntry>( Database.Session, new CustomEqualityComparer() )
.CheckProperty( x => x.ID, "1" )
.CheckReference( x=> x.Book, book )
.CheckReference( x => x.Member, member )
.CheckProperty( x => x.IssuedBy, "Librarian" )
.CheckProperty( x => x.IssueDate, DateTime.Now, new DateTimeEqualityComparer( maxDifference ) )
.CheckProperty( x => x.DueDate, DateTime.Now, new DateTimeEqualityComparer( maxDifference ) )
.CheckProperty( x => x.ReturnDate, DateTime.Now, new DateTimeEqualityComparer( maxDifference ) )
.CheckProperty( x => x.ReturnBy, "User" )
.VerifyTheMappings();
}
Book
myがreferences
likeなどでできていることがはっきりとわかるようBookSize
に、それ自体がforマップになります。についても同様です。オブジェクトに対して「null 以外のプロパティが null または一時的な値のエラーを参照しています」という例外がスローされます。どんな助けでも大歓迎です。前もって感謝します。Department
Book
references
IssueReturnRegister
Member
BookSize