using System.Collections; using NUnit.Framework; namespace NHibernate.Test.SqlTest.Custom.MsSQL { [TestFixture] public class MonkeyTests : TestCase { protected override string MappingsAssembly { get { return "NHibernate.Test"; } } protected override IList Mappings { get { return new[] {"SqlTest.Custom.MsSQL.Monkey.hbm.xml"}; } } [Test] public void CanGenerateIdWithTransactionOpen() { using (var session = OpenSession()) using (var transaction = session.BeginTransaction()) { var monkey1 = new Monkey(); var monkey2 = new Monkey(); Assert.AreEqual(0, monkey1.Id); Assert.AreEqual(0, monkey1.Id); session.Save(monkey1); session.Save(monkey2); Assert.AreEqual(1, monkey1.Id); Assert.AreEqual(2, monkey2.Id); session.Flush(); transaction.Rollback(); } using (var session = OpenSession()) using (var transaction = session.BeginTransaction()) { var monkey = new Monkey(); Assert.AreEqual(0, monkey.Id); session.Save(monkey); Assert.AreEqual(3, monkey.Id); session.Flush(); transaction.Rollback(); } } } public class Monkey { public virtual int Id { get; set; } } }