public void Products() { var sut = new MruProductsImpl(new List<Guid> { products[1].Id, products[2].Id }, factories); var expected = new Product[] { products[1], products[2] }; var actual = sut.Products; Assert.AreEqual(expected, actual); }
public void ProductsNeverExceedTheCurrentMaxCount() { var initialProductIds = new List<Guid> { Guid.NewGuid(), products[1].Id, products[2].Id }; settings.MruProductMaxCount = 1; var sut = new MruProductsImpl(initialProductIds, factories); var expected = new Product[] { products[1] }; var actual = sut.Products; Assert.AreEqual(expected, actual); Assert.AreEqual(initialProductIds.Count, 3); }
public void AddProductWhenAlreadyHasMaxCountAndAddedNewProduct() { var initialProductIds = products.Take(settings.MruProductMaxCount).Select(product => product.Id).ToList(); var sut = new MruProductsImpl(initialProductIds, factories); sut.AddProduct(products[settings.MruProductMaxCount]); var expected = products.Take(settings.MruProductMaxCount - 1).ToList(); expected.Insert(0, products[settings.MruProductMaxCount]); var actual = sut.Products; Assert.AreEqual(expected, actual); Assert.AreEqual(expected.Select(item => item.Id), initialProductIds); }
public void ProductsWhenProductDoesNotExistSkipsIt() { var sut = new MruProductsImpl(new List<Guid> { Guid.NewGuid(), products[3].Id }, factories); var expected = new Product[] { products[3] }; var actual = sut.Products; Assert.AreEqual(expected, actual); }