public void ExtractStaticMembers_ClassWithStatics_ExtractsStatics() { IExtractor extractor = new Extractor(typeof(ClassWithStatics)); const string interfaceName = "Custom.Namespace.IStaticMyClass"; const string implementationName = "Custom.Namespace.SStaticMyClass"; var actualInterface = extractor.ExtractInterfaceForStaticMembers(interfaceName); var actualImplementation = extractor.ExtractImplementationForStaticMembers(interfaceName, implementationName); write_output(actualInterface, actualImplementation); var expected = @" namespace Custom.Namespace { public interface IStaticMyClass { System.Int32 DoSomething(); System.Int32 GetProperty { get; } System.Int32 GetSetProperty { get; set; } System.Int32 SetProperty { set; } } }"; Assert.That(actualInterface.RemoveWhitespace(), Is.EqualTo(expected.RemoveWhitespace()), "failed on interface creation"); expected = @" namespace Custom.Namespace { public class SStaticMyClass : Custom.Namespace.IStaticMyClass { private readonly Core.Fixtures.Fakes.ClassWithStatics instance; public System.Int32 DoSomething() { return Core.Fixtures.Fakes.ClassWithStatics.DoSomething(); } public System.Int32 GetProperty { get { return Core.Fixtures.Fakes.ClassWithStatics.GetProperty; } } public System.Int32 GetSetProperty { get { return Core.Fixtures.Fakes.ClassWithStatics.GetSetProperty; } set { Core.Fixtures.Fakes.ClassWithStatics.GetSetProperty = value; } } public System.Int32 SetProperty { set { Core.Fixtures.Fakes.ClassWithStatics.SetProperty = value; } } } }"; Assert.That(actualImplementation.RemoveWhitespace(), Is.EqualTo(expected.RemoveWhitespace()), "failed on implementation creation"); }
public void ExtractStaticMembers_StaticClass_DoNotExtractAnyInstanceMembers() { IExtractor extractor = new Extractor(typeof(StaticClass)); const string interfaceName = "Custom.Namespace.IStaticMyClass"; const string implementationName = "Custom.Namespace.SStaticMyClass"; var actualInterface = extractor.ExtractInterfaceForStaticMembers(interfaceName); var actualImplementation = extractor.ExtractImplementationForStaticMembers(interfaceName, implementationName); write_output(actualInterface, actualImplementation); var expected = @" namespace Custom.Namespace { public interface IStaticMyClass { void DoSomething(); } }"; Assert.That(actualInterface.RemoveWhitespace(), Is.EqualTo(expected.RemoveWhitespace()), "failed on interface creation"); expected = @" namespace Custom.Namespace { public class SStaticMyClass : Custom.Namespace.IStaticMyClass { public void DoSomething() { Core.Fixtures.Fakes.StaticClass.DoSomething(); } } }"; Assert.That(actualImplementation.RemoveWhitespace(), Is.EqualTo(expected.RemoveWhitespace()), "failed on implementation creation"); }
public void ExtractMembers_TypeOfDateTime_JustWriteItToConsole() { IExtractor extractor = new Extractor(typeof (DateTime)); var interfaceName = "Custom.Namespace.IDateTime"; var implementationName = "Custom.Namespace.DateTimeImplementation"; var extracted = extractor.ExtractInterfaceForInstanceMembers(interfaceName); Console.WriteLine(extracted); extracted = extractor.ExtractImplementationForInstanceMembers(interfaceName, implementationName); Console.WriteLine(extracted); interfaceName = "Custom.Namespace.IDateTimeStatics"; implementationName = "Custom.Namespace.DateTimeStaticsImplementation"; extracted = extractor.ExtractInterfaceForStaticMembers(interfaceName); Console.WriteLine(extracted); extracted = extractor.ExtractImplementationForStaticMembers(interfaceName, implementationName); Console.WriteLine(extracted); Console.WriteLine(); }