mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 12:30:32 +00:00
42 lines
No EOL
1.3 KiB
C#
42 lines
No EOL
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using NUnit.Framework;
|
|
using EcmaCil;
|
|
using System.IO;
|
|
using System.Xml;
|
|
|
|
namespace ReflectionToEcmaCil.Tests
|
|
{
|
|
public class BaseTest
|
|
{
|
|
protected void AssertCompilationSame(string refName, Type baseType)
|
|
{
|
|
var xReader = new Reader();
|
|
var xResult = xReader.Execute(baseType.Assembly.Location);
|
|
string xActualOutput;
|
|
using (var xStringWriter = new StringWriter())
|
|
{
|
|
using (var xXmlOut = XmlWriter.Create(xStringWriter))
|
|
{
|
|
Dump.DumpTypes(xResult, xXmlOut);
|
|
xXmlOut.Flush();
|
|
xStringWriter.Flush();
|
|
xActualOutput = xStringWriter.ToString();
|
|
}
|
|
}
|
|
|
|
var xExpectedOutput = ReadAllTextFromStream(baseType.Assembly.GetManifestResourceStream(baseType.Namespace + "." + refName + ".xml"));
|
|
Assert.AreEqual(xExpectedOutput, xActualOutput);
|
|
}
|
|
|
|
private static string ReadAllTextFromStream(Stream aStream)
|
|
{
|
|
using (var xStreamReader = new StreamReader(aStream))
|
|
{
|
|
return xStreamReader.ReadToEnd();
|
|
}
|
|
}
|
|
}
|
|
} |