public void CanOverrideTwoInterfaceWhereItsTheSecond() { var data = @"tes test test public class TestAbc : IOther, IWhatever { }"; var replaced = new CSharpInterfaceReplacer().ReplaceHide(data, "IWhatever", "IService"); replaced.Should().Be(@"tes test test public class TestAbc : IOther, IService<IWhatever> { }"); }
public void CanOverrideOnlyOneInterface() { var data = @"tes test test public class TestAbc : IWhatever { }"; var replaced = new CSharpInterfaceReplacer().ReplaceHide(data, "IWhatever", "IService"); replaced.Should().Be(@"tes test test public class TestAbc : IService<IWhatever> { }"); }
private static void ReplaceHide(IEnumerable<ClassSignature> types, IEnumerable<string> files) { var replacer = new CSharpInterfaceReplacer(); foreach (var file in files) { var content = File.ReadAllText(file); var oldContent = content; foreach (var type in types) { content = replacer.ReplaceHide(content, "I" + type.Type.Name, "Simple.Services.IService"); } if (content != oldContent) File.WriteAllText(file, content); } }
private static int ReplaceShow(string[] files) { var replacer = new CSharpInterfaceReplacer(); int count = 0; foreach (var file in files) { var content = File.ReadAllText(file); var newContent = content; content = replacer.ReplaceShow(content, "Simple.Services.IService"); if (newContent != content) { File.WriteAllText(file, content); count++; } } return count; }
public void WillNotOverrideIfAlreadyOverriden() { var data = @"tes test test public class TestAbc : IOther, IService<IWhatever>, IMustRemain { }"; var replaced = new CSharpInterfaceReplacer().ReplaceHide(data, "IWhatever", "IService"); replaced.Should().Be(@"tes test test public class TestAbc : IOther, IService<IWhatever>, IMustRemain { }"); }
public void CanUnOverrideThreeInterfaceWhereItsTheSecond() { var data = @"tes test test public class TestAbc : IOther, IService<IWhatever>, IService<IMustRemain> { }"; var replaced = new CSharpInterfaceReplacer().ReplaceShow(data, "IService"); replaced.Should().Be(@"tes test test public class TestAbc : IOther, IWhatever, IMustRemain { }"); }