public void Constructor_CoinViewWithoutBackedCoinViews_SetsCoinViewAsTopAndBottom() { var coinView = new NonBackedCoinView(); var stack = new CoinViewStack(coinView); Assert.True(stack.Top is NonBackedCoinView); Assert.True(stack.Bottom is NonBackedCoinView); }
public void Find_CoinViewNotFound_ReturnsNull() { var nonBackedCoinView = new NonBackedCoinView(); var stack = new CoinViewStack(nonBackedCoinView); var coinView = stack.Find <BackedCoinView2>(); Assert.Null(coinView); }
public void Constructor_CoinViewWithBackedCoinViews_SetsTopAndBottom() { var nonBackedCoinView = new NonBackedCoinView(); var backedCoinView2 = new BackedCoinView2(nonBackedCoinView); var backedCoinView1 = new BackedCoinView1(backedCoinView2); var stack = new CoinViewStack(backedCoinView1); Assert.True(stack.Top is BackedCoinView1); Assert.True(stack.Bottom is NonBackedCoinView); }
public void Find_CoinViewWithinStack_ReturnsCoinView() { var nonBackedCoinView = new NonBackedCoinView(); var backedCoinView2 = new BackedCoinView2(nonBackedCoinView, 3); var backedCoinView1 = new BackedCoinView1(backedCoinView2, 4); var stack = new CoinViewStack(backedCoinView1); var coinView = stack.Find <BackedCoinView2>(); Assert.True(coinView is BackedCoinView2); Assert.Equal(3, coinView.OutputCount); }
public void GetElements_CoinViewWithBackedCoinViews_ReturnsStack() { var nonBackedCoinView = new NonBackedCoinView(); var backedCoinView2 = new BackedCoinView2(nonBackedCoinView); var backedCoinView1 = new BackedCoinView1(backedCoinView2); var stack = new CoinViewStack(backedCoinView1); List <CoinView> coinViews = stack.GetElements().ToList(); Assert.Equal(3, coinViews.Count); Assert.True(coinViews[0] is BackedCoinView1); Assert.True(coinViews[1] is BackedCoinView2); Assert.True(coinViews[2] is NonBackedCoinView); }
public BackedCoinView2(NonBackedCoinView inner, int outputCount = 0) { this.inner = inner; this.OutputCount = outputCount; }