public void WhenFindingWithAClosedManager_ThenDoesNotFindElements()
        {
            var manager = new Mock <IPatternManager>();

            PatternManagerExtensions.Find(manager.Object, "foo");

            manager.Verify(x => x.Products, Times.Never());
        }
        public void WhenFindingExistingProduct_ThenFindsItCaseInsensitively()
        {
            var product = Mocks.Of <IProduct>().First(x => x.InstanceName == "Foo");
            var manager = Mocks.Of <IPatternManager>().First(x => x.Products == new[] { product } && x.IsOpen == true);

            var found = PatternManagerExtensions.Find(manager, "foo");

            Assert.NotNull(found);
        }
 public void WhenFindingWithNullProductName_ThenThrowsArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(() => PatternManagerExtensions.Find(new Mock <IPatternManager>().Object, null));
 }
 public void WhenFindingWithEmptyProductName_ThenThrowsArgumentOutOfRangeException()
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => PatternManagerExtensions.Find(new Mock <IPatternManager>().Object, string.Empty));
 }
 public void WhenFindingWithNullManager_ThenThrowsArgumentNullException()
 {
     Assert.Throws <ArgumentNullException>(() => PatternManagerExtensions.Find(null, "foo"));
 }