public void ThreeValidItemsThreeInvalidItems_Process_ReturnsThreeResults()
        {
            IEnumerable <Item> items = new Item[]
            {
                new Item()
                {
                    IsFoo = true
                },
                new Item()
                {
                    IsFoo = false
                },
                new Item()
                {
                    IsFoo = true
                },
                new Item()
                {
                    IsFoo = false
                },
                new Item()
                {
                    IsFoo = true
                },
                new Item()
                {
                    IsFoo = false
                }
            };
            var proc = new FooProcessor();

            IEnumerable <FooItem> result = proc.ProcessFoos(items);

            Assert.AreEqual(3, result.Count());
        }
        public void NullItems_Process_Throws()
        {
            IEnumerable <Item> items = null;
            var proc = new FooProcessor();

            proc.ProcessFoos(items);
        }
        public void EmptyItems_Process_ReturnsEmptyResults()
        {
            IEnumerable <Item> items = new Item[] {};
            var proc = new FooProcessor();

            IEnumerable <FooItem> result = proc.ProcessFoos(items);

            Assert.IsNotNull(result);
            Assert.AreEqual(0, result.Count());
        }
        public void OneValidItem_Process_ReturnsOneResult()
        {
            IEnumerable <Item> items = new Item[]
            {
                new Item()
                {
                    IsFoo = true
                }
            };
            var proc = new FooProcessor();

            IEnumerable <FooItem> result = proc.ProcessFoos(items);

            Assert.AreEqual(1, result.Count());
        }