public void RunDiff(string fileNameTemplate, bool addDefaults, bool addTransaction, bool ignoreFunctionWhitespace, bool ignoreStartWith) { using (var origRdr = new StreamReader(GetScript(fileNameTemplate + "_original.sql"))) using (var modifRdr = new StreamReader(GetScript(fileNameTemplate + "_new.sql"))) using (var expectedDiffRdr = new StreamReader(GetScript(fileNameTemplate + "_diff.sql"))) using (var ms = new MemoryStream()) using (var writer = new StreamWriter(ms)) using (var diffReader = new StreamReader(ms)) { var arguments = new PgDiffArguments { AddDefaults = addDefaults, //AddTransaction = addTransaction, //TODO: this is a bug of the Java version. The transaction arg was ignored in it IgnoreFunctionWhitespace = ignoreFunctionWhitespace, IgnoreStartWith = ignoreStartWith }; PgDiff.CreateDiff(writer, arguments, origRdr, modifRdr); writer.Flush(); ms.Seek(0, SeekOrigin.Begin); Assert.AreEqual( expectedDiffRdr.ReadToEnd().Replace("\r\n", "\n").Trim(), diffReader.ReadToEnd().Replace("\r\n", "\n").Trim()); } }
public void RunDiffSameNew(string fileNameTemplate, bool addDefaults, bool addTransaction, bool ignoreFunctionWhitespace, bool ignoreStartWith) { using (var origRdr = new StreamReader(GetScript(fileNameTemplate + "_new.sql"))) using (var modifRdr = new StreamReader(GetScript(fileNameTemplate + "_new.sql"))) using (var ms = new MemoryStream()) using (var writer = new StreamWriter(ms)) using (var diffReader = new StreamReader(ms)) { var arguments = new PgDiffArguments(); PgDiff.CreateDiff(writer, arguments, origRdr, modifRdr); writer.Flush(); var diff = diffReader.ReadToEnd(); Assert.AreEqual("", diff.Trim()); } }