public void PositiveTest()
        {
            var dataParser = new NodesXmlParser();

            var result = dataParser.ParseFile(ValidXml);

            Assert.AreEqual(result.id, 9);
            Assert.AreEqual(result.label, "Amazon");
            Assert.AreEqual(result.adjacentNodes, new List<int> { 10, 1, 6 });
        }
        private static void Main(string[] args)
        {
            var options = new CommandLineOptions();
            Parser.Default.ParseArguments(args, options);
            if (string.IsNullOrWhiteSpace(options.DataDirectory))
            {
                Console.WriteLine("Parameter directory not specified.");
                return;
            }

            if (string.IsNullOrWhiteSpace(options.Host))
            {
                Console.WriteLine("Parameter host not specified.");
                return;
            }

            var nodesXmlParser = new NodesXmlParser();
            var nodesLoader = new NodesLoader(nodesXmlParser);
            var httpClient = new BasicHttpClient();
            var uploader = new NodeUploader(httpClient, options.Host);

            Console.WriteLine("Loading files from {0}", options.DataDirectory);
            NodeContainer nodes;
            try
            {
                nodes = nodesLoader.ParseFiles(options.DataDirectory).Result;
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: {0}", e.Message);
                return;
            }

            try
            {
                Console.WriteLine(uploader.Delete().Result);
                Console.WriteLine(uploader.Upload(nodes).Result);
            }
            catch (Exception e)
            {
                if (e.InnerException != null)
                {
                    Console.WriteLine("Error: {0}", e.InnerException.Message);
                }
                else
                {
                    Console.WriteLine("Error: {0}", e.InnerException);
                }
                return;
            }

            Console.WriteLine("Successfully uploaded.");
        }
 public NodesLoader(NodesXmlParser nodesXmlParser)
 {
     this.NodesXmlParser = nodesXmlParser;
 }