Пример #1
0
        private void LoadData()
        {
            vendorRepository = new VendorRepository();
            currentVendor = vendorRepository.Retrieve(1);

            // Populate the form
            this.CompanyNameTextBox.Text = currentVendor.CompanyName;
            this.EmailTextBox.Text = currentVendor.Email;
        }
 private void SaveButton_Click(object sender, RoutedEventArgs e)
 {
     var vm = (VendorDetailViewModel)((Button)e.OriginalSource).DataContext;
     if (vm != null)
     {
         var vendorRepository = new VendorRepository();
         vendorRepository.Save(vm.currentVendor);
     }
 }
        public void RetrieveValueIntTest()
        {
            // Arrange
            var repository = new VendorRepository();
            var expected = 42;

            // Act
            var actual = repository.RetrieveValue<int>("Select...", 42);

            // Assert
            Assert.AreEqual(expected, actual);
        }
        public void RetrieveValueStringTest()
        {
            // Arrange
            var repository = new VendorRepository();
            var expected = "default value";

            // Act
            var actual = repository.RetrieveValue("Select...", "default value");

            // Assert
            Assert.AreEqual(expected, actual);
        }
        public void RetrieveValueTestWithString()
        {
            //Arrange
            var repo = new VendorRepository();
            var expected = "* From People Where Name == 'Ronald'";

            //Act
            var actual = repo.RetrieveValue<string>("Select  ...", "* From People Where Name == 'Ronald'");

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void RetrieveValueTestWithInt()
        {
            //Arrange
            var repo = new VendorRepository();
            var expected = 32;

            //Act
            var actual = repo.RetrieveValue<int>("Select  ...", 32);

            //Assert
            Assert.AreEqual(expected, actual);
        }
        public void RetrieveAllTest()
        {
            // Arrange
            var repository = new VendorRepository();
            var expected = new List<Vendor>()
            {
                new Vendor()
                {
                    VendorId = 10, CompanyName = "Amazon", Email = "*****@*****.**"
                },
                new Vendor()
                {
                    VendorId = 69, CompanyName = "ESPN", Email = "*****@*****.**"
                },
                new Vendor()
                {
                    VendorId = 82, CompanyName = "Uber", Email = "*****@*****.**"
                }
            };

            // Actual
            var vendors = repository.RetrieveAll();

            //var vendorQuery = from v in vendors
            //                  where v.Email.Contains(".net")
            //                  orderby v.CompanyName
            //                  select v;

            // LINQ methods such as Where takes in a delegate as the argument. The delegate 
            // must be in the form of Func<Vendor, bool>, where Vendor is the parameter and 
            // bool is the return type. To test this, we wrote a private method called 
            // FilterCompanies and inserted into LINQ's Where method.  
            //var vendorQuery = vendors.Where(FilterCompanies)
            //                .OrderBy(OrderCompaniesByName);

            // Using lambda expressions within LINQ methods, instead of delegates, reduces clutter.
            var vendorQuery = vendors.Where(v => v.Email.Contains(".net"))
                            .OrderBy(v => v.CompanyName);

            // Assert
            CollectionAssert.AreEqual(expected, vendorQuery.ToList());
        }
Пример #8
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);
        }
Пример #9
0
        public void SendEmailTestDictionary()
        {
            // Arrange
            var vendorRepository = new VendorRepository();
            var vendors = vendorRepository.RetrieveWithKeys();
            var expected = new List<string>()
            {
                "Message sent: Important message for: JP Morgan",
                "Message sent: Important message for: Lockheed Martin"
            };

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

            // Assert
            CollectionAssert.AreEqual(expected, actual);
        }
Пример #10
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);
        }
Пример #11
0
        public void SendEmailTestArray()
        {
            // Arrange
            var vendorRepository = new VendorRepository();
            var vendors = vendorRepository.RetrieveArray();
            var expected = new List<string>()
            {
                "Message sent: Important message for: Disney",
                "Message sent: Important message for: Google"
            };
            Console.WriteLine(vendors.Length);

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

            // Assert
            CollectionAssert.AreEqual(expected, actual);
        }
Пример #12
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);
        }
Пример #13
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);
        }
        public void RetrieveTest()
        {
            // 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.Retrieve();

            // Assert
            CollectionAssert.AreEqual(expected, actual);
        }
        public void RetrieveWithKeysTest()
        {
            // Arrange
            var repository = new VendorRepository();
            var expected = new Dictionary<string, Vendor>()
            {
                { "JP Morgan", new Vendor() { CompanyName = "JP Morgan", VendorId = 8, Email = "*****@*****.**"} },
                { "Lockheed Martin", new Vendor() { CompanyName = "Lockheed Martin", VendorId = 10, Email = "*****@*****.**"} }
            };

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

            // Assert
            CollectionAssert.AreEqual(expected, actual);
        }
        public void RetrieveTestIterator()
        {
            // 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 vendorIterator = repository.RetrieveWithIterator();

            foreach (var item in vendorIterator)
            {
                Console.WriteLine(item);
            }

            var actual = vendorIterator.ToList();

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