Пример #1
0
        public void SendEmailTestCollectionDictionary()
        {
            // Arrange
            var vendorRepository = new VendorRepository();
            var vendorsCollection = vendorRepository.RetrieveCollection();
            var expected = new List<string>()
            {
                "Message sent: Important message for: IBM",
                "Message sent: Important message for: GE"
            };
            // When casting a collection to a dictionary, we must give .ToDictionary() 
            // a key-selector function argument to extract the keys for the dictionary. 
            // In this case, we want to use the company name as the key. The lambda 
            // expression says for every item v in the collection, use the company name 
            // as the key.  
            var vendors = vendorsCollection.ToDictionary(v => v.CompanyName);

            // Act
            var actual = Vendor.SendEmail(vendors.Values, "Test Message");

            // Assert
            CollectionAssert.AreEqual(expected, actual);
        }
Пример #2
0
        public void SendEmailTestCollectionArray()
        {
            // Arrange
            var vendorRepository = new VendorRepository();
            var vendorsCollection = vendorRepository.RetrieveCollection();
            var expected = new List<string>()
            {
                "Message sent: Important message for: IBM",
                "Message sent: Important message for: GE"
            };
            // Since .RetrieveCollection() returns an ICollection<Vendor>, we 
            // must cast it in order for us to use vendorsCollection as an Array.
            var vendors = vendorsCollection.ToArray();
            Console.WriteLine(vendors.Length);

            // Act
            var actual = Vendor.SendEmail(vendors, "Test Message");

            // Assert
            CollectionAssert.AreEqual(expected, actual);
        }
Пример #3
0
        public void SendEmailTestCollectionList()
        {
            // Arrange
            var vendorRepository = new VendorRepository();
            var vendorsCollection = vendorRepository.RetrieveCollection();
            var expected = new List<string>()
            {
                "Message sent: Important message for: IBM",
                "Message sent: Important message for: GE"
            };
            var vendors = vendorsCollection.ToList();
            Console.WriteLine(vendors.Count);

            // Act
            var actual = Vendor.SendEmail(vendors, "Test Message");

            // Assert
            CollectionAssert.AreEqual(expected, actual);
        }
Пример #4
0
        public void SendEmailTestAdd()
        {
            // Arrange
            var vendorRepository = new VendorRepository();
            var vendorsCollection = vendorRepository.RetrieveCollection(); // Collection has 2 items.
            vendorsCollection.Add(new Vendor() {CompanyName = "NBC", Email = "*****@*****.**", VendorId = 25});

            // The returned collection is MUTABLE, meaning after we add a new vendor to the vendorRepository 
            // and then retrieve the same collection, that collection would have increased by 1. 
            var vendorsCollectionMaster = vendorRepository.RetrieveCollection(); // Collection now has 3 items. 

            // Prevent changes to the collection, .RetrieveCollection() would need to return IEnumerable<T> 
            // instead of ICollection<T>. IEnumerable<T> collections can only be enumerated, not modified 
            // because they're readonly.

            var expected = new List<string>()
            {
                "Message sent: Important message for: IBM",
                "Message sent: Important message for: GE",
                "Message sent: Important message for: NBC",
            };
            var vendors = vendorsCollection.ToList();
            Console.WriteLine(vendors.Count);

            // Act
            var actual = Vendor.SendEmail(vendors, "Test Message");

            // Assert
            CollectionAssert.AreEqual(expected, actual);
        }
        public void RetrieveTestCollection()
        {
            // Arrange
            var repository = new VendorRepository();
            var expected = new List<Vendor>();

            expected.Add(new Vendor() { CompanyName = "IBM", Email = "*****@*****.**", VendorId = 12345 });
            expected.Add(new Vendor() { CompanyName = "GE", Email = "*****@*****.**", VendorId = 54321 });

            // Act
            var actual = repository.RetrieveCollection();

            // Assert
            CollectionAssert.AreEqual(expected, actual.ToList());
        }