SimpleSearchNode implements SearchNode { @Override public boolean isInUse() { return totalRuns >= 0; } SimpleSearchNode(CoordinateSystem coords); @Override String bestWinCountReport(CoordinateSystem coords); @Override short bestWinRate(CoordinateSystem coords); @Override boolean biasUpdated(); @Override void clear(@SuppressWarnings("hiding") long fancyHash,
			CoordinateSystem coords); @Override String deepToString(Board board, TranspositionTable table,
			int maxDepth); @Override synchronized void exclude(short p); @Override void free(); @Override ListNode<SearchNode> getChildren(); @Override long getFancyHash(); @Override short getMoveWithMostWins(CoordinateSystem coords); @Override int getRuns(short p); @Override int getTotalRuns(); @Override short getWinningMove(); @Override float getWinRate(short p); @Override float getWins(short p); @Override boolean hasChild(short p); @Override boolean isFresh(CoordinateSystem coords); @Override boolean isInUse(); @Override boolean isMarked(); @Override float overallWinRate(CoordinateSystem coords); @Override void recordPlayout(float winProportion, McRunnable runnable, int t); @Override void setBiasUpdated(boolean value); @Override void setChildren(ListNode<SearchNode> children); @Override void setHasChild(short p); @Override void setMarked(boolean marked); @Override void setWinningMove(short move); @Override String toString(CoordinateSystem coords); @Override synchronized void update(short p, int n, float wins); @Override void updateBias(McRunnable runnable);  }
@Test public void testIsInUse() { assertTrue(node.isInUse()); node.free(); assertFalse(node.isInUse()); node.clear(23L, coords); assertTrue(node.isInUse()); }