public void Given_file_is_valid_when_load_should_pair_nodes_be_correct()
 {
     var nodePairManager = new NodePairManager(CorrectFileName, _mockNodeManager.Object);
     File.WriteAllText(CorrectFileName, CorrectFileContent);
     Node[] pairNodes = nodePairManager.GetPairedNodesOf(nodea).ToArray();
     pairNodes.ElementAt(0).Id.Should().Be("bbb");
     pairNodes.ElementAt(1).Id.Should().Be("ccc");
     pairNodes.ElementAt(2).Id.Should().Be("ddd");
 }
        public void Given_file_is_valid_when_load_shold_pair_and_unpair_method_be_correct()
        {
            var nodePairManager = new NodePairManager(CorrectFileName, _mockNodeManager.Object);
            File.WriteAllText(CorrectFileName, CorrectFileContent);
            bool flag = false;
            var document = new XmlDocument();
            document.Load(CorrectFileName);
            var nodePairElementList = document.GetElementsByTagName("NodePair");
            foreach (XmlElement nodePairElement in nodePairElementList)
            {
                if (nodePairElement.ChildNodes[0].Attributes["Id"].Value.Equals("aaa") && nodePairElement.ChildNodes[1].Attributes["Id"].Value.Equals("bbb"))
                    flag = true;
                if (nodePairElement.ChildNodes[1].Attributes["Id"].Value.Equals("aaa") && nodePairElement.ChildNodes[0].Attributes["Id"].Value.Equals("bbb"))
                    flag = true;
            }
            flag.Should().BeTrue();
            nodePairManager.UnpairNodes(nodea, nodeb);

            document.Load(CorrectFileName);
            nodePairElementList = document.GetElementsByTagName("NodePair");
            foreach (XmlElement nodePairElement in nodePairElementList)
            {
                if (nodePairElement.ChildNodes[0].Attributes["Id"].Value.Equals(nodea.Id))
                    nodePairElement.ChildNodes[1].Attributes["Id"].Value.Should().NotBe("bbb");
                if (nodePairElement.ChildNodes[1].Attributes["Id"].Value.Equals(nodea.Id))
                    nodePairElement.ChildNodes[0].Attributes["Id"].Value.Should().NotBe("bbb");
            }

            nodePairManager.PairNodes(nodea, nodeb);

            document.Load(CorrectFileName);
            nodePairElementList = document.GetElementsByTagName("NodePair");
            foreach (XmlElement nodePairElement in nodePairElementList)
            {
                if (nodePairElement.ChildNodes[0].Attributes["Id"].Value.Equals("aaa") && nodePairElement.ChildNodes[1].Attributes["Id"].Value.Equals("bbb"))
                    flag = true;
                if (nodePairElement.ChildNodes[1].Attributes["Id"].Value.Equals("aaa") && nodePairElement.ChildNodes[0].Attributes["Id"].Value.Equals("bbb"))
                    flag = true;
            }
            flag.Should().BeTrue();
        }
 public void Given_file_not_exist_when_load_should_file_be_created()
 {
     File.Exists(NonExistentFileName).Should().BeFalse();
     var nodePairManager = new NodePairManager(NonExistentFileName, _mockNodeManager.Object);
     File.Exists(NonExistentFileName).Should().BeTrue();
 }