public void EnsureReferenceToNotifyPropertyWeaverIsRemoved() { var weaverHelper = new WeaverHelper(@"AssemblyThatIsSigned\AssemblyThatIsSigned.csproj", false); var instance = weaverHelper.Assembly.GetInstance("ClassWithProperties"); EventTester.TestProperty(instance, false); Assert.AreEqual(GetAssemblyPublickKeyToken(weaverHelper.Assembly), "3a0be277382290ee"); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyExperiments\AssemblyExperiments.csproj"); Verifier.Verify(weaverHelper.BeforeAssemblyPath, weaverHelper.AfterAssemblyPath); weaverHelper.Assembly.GetInstance("Experiment"); }
public void TestClassIsNotBlocked() { var weaverHelper = new WeaverHelper("AssemblyWithBlockingClass"); var instance = weaverHelper.Assembly.GetInstance("B"); EventTester.TestProperty(instance, false); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyReferencingExecutable\AssemblyReferencingExecutable.csproj", true); var instance = weaverHelper.Assembly.GetInstance("ClassChild"); EventTester.TestProperty(instance, false); }
public void Simple() { var weaverHelper = new WeaverHelper(@"AssemblyFSharp\AssemblyFSharp.fsproj"); var instance = weaverHelper.Assembly.GetInstance("Namespace.ClassWithProperties"); EventTester.TestProperty(instance, false); }
public void Simple() { var weaverHelper = new WeaverHelper(@"AssemblyWithLotsOfCodeInProperty\AssemblyWithLotsOfCodeInProperty.csproj", true); var instance = weaverHelper.Assembly.GetInstance("ClassWithProperties"); EventTester.TestProperty(instance, false); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyExperiments\AssemblyExperiments.csproj"); var instance = weaverHelper.Assembly.GetInstance("ClassExperiment"); instance.MixDateTimeOffset = DateTimeOffset.Now; }
static void Main(string[] args) { var n = new SimpleTest.NestedTypesTest.NestedTypesTestClass(); var weaverHelper = new WeaverHelper(@"SimpleTest\SimpleTest.csproj"); weaverHelper.Weave(); }
public void Test_Errors([NotNull] string test, [NotNull] string expectedError) { var weaverHelper = WeaverHelper.Create($"{test}/AssemblyToProcess"); Assert.Equal(1, weaverHelper.Errors.Count()); Assert.Equal(expectedError, weaverHelper.Errors.First()); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyExperiments\AssemblyExperiments.csproj"); var instance = weaverHelper.Assembly.GetInstance("ExperimentClass"); EventTester.TestProperty(instance, false); }
public void Test_Errors(string test, string expectedError) { var weaverHelper = WeaverHelper.Create($"{test}/AssemblyToProcess"); Assert.Single(weaverHelper.Errors); Assert.Equal(expectedError, weaverHelper.Errors.First()); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyExperiments\AssemblyExperiments.csproj", true); var instance = weaverHelper.Assembly.GetInstance("ExperimentClass"); Verifier.Verify(weaverHelper.Assembly.Location); }
private void EIBuffParse(List <Player> players, SkillData skillData, FightData fightData) { var toAdd = new List <AbstractBuffEvent>(); foreach (Player p in players) { if (p.Spec == ParserHelper.Spec.Weaver) { toAdd.AddRange(WeaverHelper.TransformWeaverAttunements(GetBuffData(p.AgentItem), _buffData, p.AgentItem, skillData)); } if (p.BaseSpec == ParserHelper.Spec.Elementalist && p.Spec != ParserHelper.Spec.Weaver) { ElementalistHelper.RemoveDualBuffs(GetBuffData(p.AgentItem), _buffData, skillData); } } toAdd.AddRange(fightData.Logic.SpecialBuffEventProcess(this, skillData)); var buffIDsToSort = new HashSet <long>(); var buffAgentsToSort = new HashSet <AgentItem>(); foreach (AbstractBuffEvent bf in toAdd) { if (_buffDataByDst.TryGetValue(bf.To, out List <AbstractBuffEvent> buffByDstList)) { buffByDstList.Add(bf); } else { _buffDataByDst[bf.To] = new List <AbstractBuffEvent>() { bf }; } buffAgentsToSort.Add(bf.To); if (_buffData.TryGetValue(bf.BuffID, out List <AbstractBuffEvent> buffByIDList)) { buffByIDList.Add(bf); } else { _buffData[bf.BuffID] = new List <AbstractBuffEvent>() { bf }; } buffIDsToSort.Add(bf.BuffID); } foreach (long buffID in buffIDsToSort) { _buffData[buffID] = _buffData[buffID].OrderBy(x => x.Time).ToList(); } foreach (AgentItem a in buffAgentsToSort) { _buffDataByDst[a] = _buffDataByDst[a].OrderBy(x => x.Time).ToList(); } if (toAdd.Any()) { _buffRemoveAllData = _buffData.ToDictionary(x => x.Key, x => x.Value.OfType <BuffRemoveAllEvent>().ToList()); } }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyExperiments\AssemblyExperiments.csproj"); var instance = weaverHelper.Assembly.GetInstance("ClassExperiment"); instance.MixDateTimeOffset = DateTimeOffset.Now; }
public void EnsureReferenceToNotifyPropertyWeaverIsRemoved() { var weaverHelper = new WeaverHelper(@"AssemblyThatIsSigned\AssemblyThatIsSigned.csproj", false); var instance = weaverHelper.Assembly.GetInstance("ClassWithProperties"); EventTester.TestProperty(instance, false); Assert.AreEqual(GetAssemblyPublickKeyToken(weaverHelper.Assembly), "3a0be277382290ee"); }
public void WithOnNotify() { var weaverHelper = new WeaverHelper(@"AssemblyInheritingBadNamedInvoker\AssemblyInheritingBadNamedInvoker.csproj"); weaverHelper.Assembly.GetInstance("ChildClass"); //TODO: validate that a log message is written //TODO: move ClassWithForwardedEvent.cs into own project and do the same kind of test //EventTester.TestProperty(instance, false); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyExperiments\AssemblyExperiments.csproj", true); var instance = weaverHelper.Assembly.GetInstance("ExperimentClass"); Verifier.Verify(weaverHelper.Assembly.Location); }
public void WithOnNotify() { var weaverHelper = new WeaverHelper(@"AssemblyInheritingBadNamedInvoker\AssemblyInheritingBadNamedInvoker.csproj"); var instance = weaverHelper.Assembly.GetInstance("ChildClass"); //TODO: validate that a log message is written //TODO: move ClassWithForwardedEvent.cs into own project and do the same kind of test //EventTester.TestProperty(instance, false); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyReferencingExecutable\AssemblyReferencingExecutable.csproj", true); var instance = weaverHelper.Assembly.GetInstance("ClassChild"); EventTester.TestProperty(instance, false); }
public SerilogTests() { beforeAssemblyPath = Path.GetFullPath(@"..\..\..\SerilogAssemblyToProcess\bin\Debug\SerilogAssemblyToProcess.dll"); #if (!DEBUG) beforeAssemblyPath = beforeAssemblyPath.Replace("Debug", "Release"); #endif afterAssemblyPath = WeaverHelper.Weave(beforeAssemblyPath); assembly = Assembly.LoadFile(afterAssemblyPath); }
public void Test3() { var assembly = WeaverHelper.Create("Test3/AssemblyToProcess").Assembly; var form = assembly.GetInstance("AssemblyToProcess.TestForm"); Assert.Equal("Form:MyResourceManager", form.Text); Assert.Equal("MyForm", form.Value); }
public void Test1Partial() { var assembly = WeaverHelper.Create("Test1/AssemblyToProcess").Assembly; var target = assembly.GetInstance("AssemblyToProcess.SubstitutionSubjectClass"); Assert.Equal("\"Test\"", target.GetText()); Assert.Equal("Test", target.GetOriginalText()); }
private void EIBuffParse(List <Player> players, SkillData skillData, FightData fightData) { var toAdd = new List <AbstractBuffEvent>(); WarriorHelper.AttachMasterToBanners(players, _buffData, _castDataById); foreach (Player p in players) { if (p.Prof == "Weaver") { toAdd = WeaverHelper.TransformWeaverAttunements(GetBuffDataByDst(p.AgentItem), p.AgentItem, skillData); } if (p.Prof == "Elementalist" || p.Prof == "Tempest") { ElementalistHelper.RemoveDualBuffs(GetBuffDataByDst(p.AgentItem), skillData); } } toAdd.AddRange(fightData.Logic.SpecialBuffEventProcess(_buffDataByDst, _buffData, skillData)); var buffIDsToSort = new HashSet <long>(); var buffAgentsToSort = new HashSet <AgentItem>(); foreach (AbstractBuffEvent bf in toAdd) { if (_buffDataByDst.TryGetValue(bf.To, out List <AbstractBuffEvent> list1)) { list1.Add(bf); } else { _buffDataByDst[bf.To] = new List <AbstractBuffEvent>() { bf }; } buffAgentsToSort.Add(bf.To); if (_buffData.TryGetValue(bf.BuffID, out List <AbstractBuffEvent> list2)) { list2.Add(bf); } else { _buffData[bf.BuffID] = new List <AbstractBuffEvent>() { bf }; } buffIDsToSort.Add(bf.BuffID); } foreach (long buffID in buffIDsToSort) { _buffData[buffID].Sort((x, y) => x.Time.CompareTo(y.Time)); } foreach (AgentItem a in buffAgentsToSort) { _buffDataByDst[a].Sort((x, y) => x.Time.CompareTo(y.Time)); } }
public void Test1a() { var assembly = WeaverHelper.Create("Test1/AssemblyToProcess").Assembly; var target = assembly.GetInstance("AssemblyToProcess.UsageOfInterface"); var expected = new[] { "A", "B", "C" }; Assert.True(expected.SequenceEqual((IEnumerable <string>)target.Explicit)); Assert.True(expected.SequenceEqual((IEnumerable <string>)target.Derived)); }
public SerilogTests() { AppDomainAssemblyFinder.Attach(); beforeAssemblyPath = Path.GetFullPath(Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\..\SerilogAssemblyToProcess\bin\Debug\SerilogAssemblyToProcess.dll")); #if (!DEBUG) beforeAssemblyPath = beforeAssemblyPath.Replace("Debug", "Release"); #endif afterAssemblyPath = WeaverHelper.Weave(beforeAssemblyPath); assembly = Assembly.LoadFile(afterAssemblyPath); }
public CustomTests() { AppDomainAssemblyFinder.Attach(); beforeAssemblyPath = Path.GetFullPath(@"..\..\..\CustomAssemblyToProcess\bin\Debug\CustomAssemblyToProcess.dll"); #if (!DEBUG) beforeAssemblyPath = beforeAssemblyPath.Replace("Debug", "Release"); #endif afterAssemblyPath = WeaverHelper.Weave(beforeAssemblyPath); assembly = Assembly.LoadFile(afterAssemblyPath); }
public void Weave_CustomAssembly_WeavesCorrectIL() { var path = Path.GetFullPath(@"..\path\to\your\assembly.dll"); var customAssembly = WeaverHelper.WeaveAssembly(11, path); var assemblyPath = customAssembly.CodeBase.Remove(0, 8); var result = Verifier.Verify(assemblyPath); Console.WriteLine(result); Assert.IsTrue(result.Contains(string.Format("All Classes and Methods in {0} Verified.", assemblyPath))); }
public GenericExternalTests() { AppDomainAssemblyFinder.Attach(); var beforeAssemblyPath = Path.GetFullPath(Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\..\WithGenericExternal\bin\Debug\WithGenericExternal.dll")); #if (!DEBUG) beforeAssemblyPath = beforeAssemblyPath.Replace("Debug", "Release"); #endif afterAssemblyPath = WeaverHelper.Weave(beforeAssemblyPath); assembly = Assembly.LoadFile(afterAssemblyPath); }
public void CheckIfFilterTypeExcludeRightTypes() { var weaverHelper = new WeaverHelper(@"AssemblyWithTypeFilter\AssemblyWithTypeFilter.csproj"); var assembly = weaverHelper.Assembly; var instance = assembly.GetInstance("TestClassExclude"); EventTester.TestPropertyNotCalled(instance); instance = assembly.GetInstance("PropertyChangedTest.TestClassInclude"); EventTester.TestProperty(instance, false); Verifier.Verify(weaverHelper.BeforeAssemblyPath, weaverHelper.AfterAssemblyPath); }
public NonGenericExternalTests() { AppDomainAssemblyFinder.Attach(); var beforeAssemblyPath = Path.GetFullPath(@"..\..\..\WithNonGenericExternal\bin\Debug\WithNonGenericExternal.dll"); #if (!DEBUG) beforeAssemblyPath = beforeAssemblyPath.Replace("Debug", "Release"); #endif afterAssemblyPath = WeaverHelper.Weave(beforeAssemblyPath); assembly = Assembly.LoadFile(afterAssemblyPath); }
public void CheckIfFilterTypeExcludeRightTypes() { var weaverHelper = new WeaverHelper(@"AssemblyWithTypeFilter\AssemblyWithTypeFilter.csproj"); var assembly = weaverHelper.Assembly; var instance = assembly.GetInstance("TestClassExclude"); EventTester.TestPropertyNotCalled(instance); instance = assembly.GetInstance("PropertyChangedTest.TestClassInclude"); EventTester.TestProperty(instance, false); Verifier.Verify(weaverHelper.BeforeAssemblyPath, weaverHelper.AfterAssemblyPath); }
public CommonLoggingTests() { AppDomainAssemblyFinder.Attach(); beforeAssemblyPath = Path.GetFullPath(@"..\..\..\CommonLoggingAssemblyToProcess\bin\Debug\CommonLoggingAssemblyToProcess.dll"); #if (!DEBUG) beforeAssemblyPath = beforeAssemblyPath.Replace("Debug", "Release"); #endif afterAssemblyPath = WeaverHelper.Weave(beforeAssemblyPath); assembly = Assembly.LoadFile(afterAssemblyPath); actionAdapter = new ActionAdapter(); LogManager.Adapter = actionAdapter; }
public void BeforeAfter() { var weaverHelper = new WeaverHelper(@"AssemblyWithBeforeAfterInterceptor\AssemblyWithBeforeAfterInterceptor.csproj"); var assembly = weaverHelper.Assembly; var instance = assembly.GetInstance("ClassToTest"); EventTester.TestProperty(instance, false); var type = assembly.GetType("PropertyChangedNotificationInterceptor"); var propertyInfo = type.GetProperty("InterceptCalled", BindingFlags.Static | BindingFlags.Public); var value = (bool)propertyInfo.GetValue(null, null); Assert.IsTrue(value); Verifier.Verify(weaverHelper.BeforeAssemblyPath, weaverHelper.AfterAssemblyPath); }
static void Main(string[] args) { #if (!DEBUG) assemblyPath = assemblyPath.Replace("Debug", "Release"); #endif var newAssemblyPath = WeaverHelper.Weave(assemblyPath); var assembly = Assembly.LoadFile(newAssemblyPath); var type = assembly.GetType("ConsoleApp2.PluginName1Logic1"); var instance = (dynamic)Activator.CreateInstance(type); instance.ExecuteLogic(); }
public SplatTests() { AppDomainAssemblyFinder.Attach(); beforeAssemblyPath = Path.GetFullPath(@"..\..\..\SplatAssemblyToProcess\bin\Debug\SplatAssemblyToProcess.dll"); #if (!DEBUG) beforeAssemblyPath = beforeAssemblyPath.Replace("Debug", "Release"); #endif afterAssemblyPath = WeaverHelper.Weave(beforeAssemblyPath); assembly = Assembly.LoadFile(afterAssemblyPath); Locator.CurrentMutable.Register(() => new FuncLogManager(GetLogger), typeof(ILogManager)); }
public void BeforeAfter() { var weaverHelper = new WeaverHelper(@"AssemblyWithBeforeAfterInterceptor\AssemblyWithBeforeAfterInterceptor.csproj", true); var assembly = weaverHelper.Assembly; var instance = assembly.GetInstance("ClassToTest"); EventTester.TestProperty(instance, false); var type = assembly.GetType("PropertyNotificationInterceptor"); var propertyInfo = type.GetProperty("InterceptCalled", BindingFlags.Static | BindingFlags.Public); var value = (bool)propertyInfo.GetValue(null, null); Assert.IsTrue(value); Verifier.Verify(assembly.CodeBase.Replace("file:///", string.Empty)); }
public NServiceBusTests() { AppDomainAssemblyFinder.Attach(); beforeAssemblyPath = Path.GetFullPath(@"..\..\..\NServiceBusAssemblyToProcess\bin\Debug\NServiceBusAssemblyToProcess.dll"); #if (!DEBUG) beforeAssemblyPath = beforeAssemblyPath.Replace("Debug", "Release"); #endif afterAssemblyPath = WeaverHelper.Weave(beforeAssemblyPath); assembly = Assembly.LoadFile(afterAssemblyPath); LogManager.UseFactory(new LogCapture(this)); }
public void Issue33() { // We need to load a custom assembly because the C# compiler won't generate the IL // that caused the issue, but NullGuard does. var afterIssue33Path = WeaverHelper.Weave(Path.GetFullPath("NullGuardAnotarBug.dll")); var issue33Assembly = Assembly.LoadFile(afterIssue33Path); var type = issue33Assembly.GetType("NullGuardAnotarBug"); var instance = (dynamic)Activator.CreateInstance(type); Assert.NotNull(instance.DoIt()); }
public AssemblyWithBaseInDifferentModuleTests() { weaverHelper = new WeaverHelper(@"AssemblyWithBaseInDifferentModule\AssemblyWithBaseInDifferentModule.csproj"); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyExperiments\AssemblyExperiments.csproj"); Verifier.Verify(weaverHelper.BeforeAssemblyPath, weaverHelper.AfterAssemblyPath); weaverHelper.Assembly.GetInstance("Experiment"); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyExperiments\AssemblyExperiments.csproj"); var instance = weaverHelper.Assembly.GetInstance("ExperimentClass"); EventTester.TestProperty(instance, false); }
public void Setup() { var weaverHelper = new WeaverHelper(projectPath, false); assembly = weaverHelper.Assembly; }
public virtual void Setup() { var weaverHelper = new WeaverHelper(projectPath); assembly = weaverHelper.Assembly; }
public DecoratedSimpleTest() { var weaverHelper = new WeaverHelper(@"SimpleTest\SimpleTest.csproj"); Assembly = weaverHelper.Weave(); }
public void EnsureNoExceptionTempFile() { var weaverHelper = new WeaverHelper(projectPath, true); Assert(weaverHelper.Assembly); }
public void Setup() { weaverHelper = new WeaverHelper(projectPath); assembly = weaverHelper.Assembly; }
public void Setup() { var weaverHelper = new WeaverHelper(_projectPath, _configureAction); Assembly = weaverHelper.Assembly; }
public void EnsureReferenceIsRemoved() { var weaverHelper = new WeaverHelper(@"AssemblyFSharp\AssemblyFSharp.fsproj"); var instance = weaverHelper.Assembly.GetInstance("Namespace.ClassWithProperties"); EventTester.TestProperty(instance, false); }
public void Foo() { var weaverHelper = new WeaverHelper(@"AssemblyExperiments\AssemblyExperiments.csproj"); // var instance = weaverHelper.Assembly.GetInstance("ExperimentClass"); }
public void EnsureNoExceptionInMemory() { var weaverHelper = new WeaverHelper(projectPath, false); Assert(weaverHelper.Assembly); }
public void TestClassIsNotBlocked() { var weaverHelper = new WeaverHelper(@"AssemblyWithBlockingClass\AssemblyWithBlockingClass.csproj", true); var instance = weaverHelper.Assembly.GetInstance("B"); EventTester.TestProperty(instance, false); }
public WeaverTests() { var projectPath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\..\AssemblyToProcess\AssemblyToProcess.fsproj"); weaverHelper = new WeaverHelper(projectPath); }
private static Assembly CreateAssembly() { var weaverHelper = new WeaverHelper(@"SimpleTest\SimpleTest.csproj"); return weaverHelper.Weave(); }
public void Simple() { var weaverHelper = new WeaverHelper(@"AssemblyWithLotsOfCodeInProperty\AssemblyWithLotsOfCodeInProperty.csproj", true); var instance = weaverHelper.Assembly.GetInstance("ClassWithProperties"); EventTester.TestProperty(instance, false); }
public FSharpTest() { weaverHelper = new WeaverHelper(@"AssemblyFSharp\AssemblyFSharp.fsproj"); }