public void GetValidDeliveryOptionsTest_Unavailable_AreEqual()
        {
            string sInput = "SM5 1RT";

            string[] sOutput = new string[] { "All others", "Delivery by Courier" };

            Mock <IPostcodeLookup> _mock = new Mock <IPostcodeLookup>();

            _mock.Setup(m => m.GetValidDeliveryOptions(sInput)).Returns(() => sOutput);

            PostcodeLookup postcodeLookup = new PostcodeLookup(_mock.Object);

            string[] sTest = postcodeLookup.GetValidDeliveryOptions(sInput);

            //Assert.AreEqual(sOutput, sTest);

            CollectionAssert.AreEqual(sOutput, sTest);
        }
        /// <summary>
        /// Example arguments: "ME10 3"; First argmument is a string from the sample dataset;
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            PostcodeLookup postcodeLookup = new PostcodeLookup();

            for (int i = 0; i < args.Length; i++)
            {
                switch (i)
                {
                case 0:
                    foreach (string s in postcodeLookup.GetValidDeliveryOptions(args[i]))
                    {
                        Console.WriteLine(s);
                    }

                    break;
                }
            }
        }
        public void GetValidDeliveryOptionsTest_Available_AreEqual()
        {
            string sInput = "ME10 3";

            string[] sOutput = new string[] { "ME10 3", "Collect from Kitchen, Delivery  from Sittingbourne" };

            Mock <IPostcodeLookup> _mock = new Mock <IPostcodeLookup>();

            _mock.Setup(m => m.GetValidDeliveryOptions(sInput)).Returns(() => sOutput);

            PostcodeLookup postcodeLookup = new PostcodeLookup(_mock.Object);

            string[] sTest = postcodeLookup.GetValidDeliveryOptions(sInput);

            //Assert.AreEqual(sOutput, sTest);

            CollectionAssert.AreEqual(sOutput, sTest);
        }