NullableModel.cs

namespace Castle.ActiveRecord.Tests.Model
{
    
using System;

    
using Nullables;

    [ActiveRecord]
    
public class NullableModel : ActiveRecordBase
    {
        
private int id;
        
private NullableInt32 age;
        
private NullableDateTime completion;
        
private NullableBoolean accepted;

        
public NullableModel()
        {
        }

        [PrimaryKey]
        
public int Id
        {
            
get { return id; }
            
set { id = value; }
        }

        [Property]
        
public NullableInt32 Age
        {
            
get { return age; }
            
set { age = value; }
        }

        [Property]
        
public NullableDateTime Completion
        {
            
get { return completion; }
            
set { completion = value; }
        }

        [Property]
        
public NullableBoolean Accepted
        {
            
get { return accepted; }
            
set { accepted = value; }
        }

        
public static void DeleteAll()
        {
            ActiveRecordBase.DeleteAll( 
typeof(NullableModel) );
        }

        
public static NullableModel[] FindAll()
        {
            
return (NullableModel[]) ActiveRecordBase.FindAll( typeof(NullableModel) );
        }

        
public static NullableModel Find(int id)
        {
            
return (NullableModel) ActiveRecordBase.FindByPrimaryKey( typeof(NullableModel), id );
        }
    }
}

NullableTestCase.cs

namespace Castle.ActiveRecord.Tests
{
    
using System;

    
using NUnit.Framework;

    
using Castle.ActiveRecord.Tests.Model;


    [TestFixture]
    
public class NullablesTestCase : AbstractActiveRecordTest
    {
        [SetUp]
        
public void Init()
        {
            ActiveRecordStarter.Initialize( GetConfigSource(), 
typeof(NullableModel) );
    
            Recreate();
        }

        [Test]
        
public void Usage()
        {
            NullableModel model 
= new NullableModel();
            model.Save();

            Assert.AreEqual(
1, NullableModel.FindAll().Length);

            model 
= NullableModel.FindAll()[0];

            Assert.AreEqual(Nullables.NullableInt32.Default, model.Age);
            Assert.AreEqual(Nullables.NullableDateTime.Default, model.Completion);
            Assert.AreEqual(Nullables.NullableBoolean.Default, model.Accepted);
        }
    }
}

相关文章:

  • 2022-02-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2022-12-23
  • 2022-03-05
  • 2022-02-21
猜你喜欢
  • 2021-07-17
  • 2022-02-05
  • 2021-07-13
  • 2022-01-23
  • 2021-07-21
  • 2022-12-23
  • 2022-01-22
相关资源
相似解决方案