public void CanSelectNode()
 {
     using (var repo = DbUtils.GetRepo <INodeRepository <int> >()) {
         GeneralPurposeTreeNode <int> insertedNode = DbUtils.CreateANode(repo, _root.Id);
         var selectedNode = repo.SelectNode(insertedNode.Id);
         Assert.NotNull(selectedNode);
         Assert.Equal(insertedNode.Id, selectedNode.Id);
     }
 }
 public static void CreateANode <T>(INodeRepository <T> repo, out GeneralPurposeTreeNode <T> node, out long createdId,
                                    long rootId, string name = "Deneme", long?parentId = null)
 {
     BindRepoTypeToDb <INodeRepository <T> >();
     //node = new GeneralPurposeTreeNode<T> { Name = name, RootId = rootId, ParentId = parentId };
     node          = Kernel.Get <GeneralPurposeTreeNode <T> >();
     node.RootId   = rootId;
     node.Name     = name;
     node.ParentId = parentId;
     createdId     = node.Id;
     repo.InsertNode(node);
 }
 public override bool Equals(GeneralPurposeTreeNode <T> x, GeneralPurposeTreeNode <T> y)
 {
     return(x.Id == y.Id && x.Name == y.Name && x.ParentId == y.ParentId &&
            x.Peer.Equals(y.Peer) && x.RootId == y.RootId);
 }
 public override int GetHashCode(GeneralPurposeTreeNode <T> obj)
 {
     return(obj.GetHashCode());
 }