2012-01-09 4 views
3

私は、db4oToolを使用して、クラスを透過的な起動/永続化のために計測しています。 -taと-collectionsスイッチを使用しています。ユニットテストDb4oTool計測器(コレクション)

私は、クラス自体が次のテストで正しくインストルメントされていることを確認する方法を知っています。

Assert.IsTrue(typeof(IActivatable).IsAssignableFrom(typeof(Machine)), "Machine class not instrumented"); 

参考:http://community.versant.com/Documentation/Reference/db4o-8.0/net35/reference/Content/basics/transparentpersistence/ta_enhanced_example.htm

しかし、私は私のコレクションが正しく計測されていることを確認する方法がわかりません。

は、以下のマシンクラスを考える:

public class Machine : DomainBase 
    { 
     private string _machineId; 

     public string MachineId 
     { 
      get { return _machineId; } 
      set { _machineId = value; } 
     } 


     public IList<EnergyTag> EnergyTags { get; set; } 

     public void AddEnergyTag(EnergyTag energyTag) 
     { 
      if (energyTag.Machine == null) 
       energyTag.Machine = this; 
      if (EnergyTags == null) 
       EnergyTags = new List<EnergyTag>(); 
      EnergyTags.Add(energyTag); 
     } 

    } 

どのように私はEnergyTagsコレクションが正常に計測されたことをテストするのでしょうか?

編集:

ソリューション:

using System.Collections.Generic; 

public class Item 
{ 
    private IList<Item> l = new List<Item>(); 

    public IList<Item> Items 
    { 
     get { return l; } 

     set { l = value; } 
    } 

    public static void Main() 
    { 
     System.Console.WriteLine("Type: {0}", new Item().Items.GetType().FullName); 
    } 
} 

ウィル出力何かのように:

var machine = new Machine();               
Assert.IsTrue(machine.EnergyTags.GetType().Equals(typeof(ActivatableList<EnergyTag>))); 

答えて

1

あなたはEnergyTagsの具体的な種類を確認することができます3210 タイプ:Db4objects.Db4o.Collections.ActivatableList`1は[[項目、ActivatableCollections、バージョン= 0.0.0.0、カルチャニュートラル、PublicKeyToken = = null]]

あなたドンのであれば、あなたが(名前で確認することができますいずれかあなたのモデルではdb4oアセンブリへの参照を持っていません)、そうでなければタイプによって。

この名前(ActivatableList)は実装の詳細であり、将来のdb4oリリースで変更される可能性があることに注意してください。ベスト

+0

私はあることを必要な場所私を得たおかげVagaus、。最終的な解決策は私の元の質問に追加されます。 – Travis

関連する問題