public async Task ShouldCombineXmlStringAndXmlDoc()
        {
            _inputXmls[0].Xml = _xmlString1;
            _inputXmls[1].Xml = _xmlDoc1;

            var result = await CombineXMLTask.CombineXML(_input, new CancellationToken());

            Assert.That(result, Is.EqualTo("<Root><XML1><bar1>foo1</bar1></XML1><XML2><foo1>bar1</foo1></XML2></Root>"));
        }
        public void ShouldNotCombineOtherObjects()
        {
            _inputXmls[0].Xml = _xmlString1;
            _inputXmls[1].Xml = 123456;
            Assert.ThrowsAsync <FormatException>(() => CombineXMLTask.CombineXML(_input, new CancellationToken()));

            _inputXmls[0].Xml = new object();
            _inputXmls[1].Xml = _xmlDoc2;
            Assert.ThrowsAsync <FormatException>(() => CombineXMLTask.CombineXML(_input, new CancellationToken()));
        }
        public async Task ShouldCombineWithNewRootAndElementNames()
        {
            _inputXmls[0].Xml = _xmlString1;
            _inputXmls[0].ChildElementName = "NEW_ELEMENT1";
            _inputXmls[1].Xml = _xmlString2;
            _inputXmls[1].ChildElementName = "NEW_ELEMENT2";
            _input.XmlRootElementName      = "NEW_ROOT";

            var result = await CombineXMLTask.CombineXML(_input, new CancellationToken());

            Assert.That(result, Is.EqualTo("<NEW_ROOT><NEW_ELEMENT1><bar1>foo1</bar1></NEW_ELEMENT1><NEW_ELEMENT2><bar2>foo2</bar2></NEW_ELEMENT2></NEW_ROOT>"));
        }