public void Accessor_Private_Type_Field() { var typeAcc = new TypeAccessor(typeof(AccessorTestObject)); var origValue = (int)typeAcc.GetStaticField("_staticPrivateField"); typeAcc.SetStaticField("_staticPrivateField", origValue + 1); var actualValue = (int)typeAcc.GetStaticField("_staticPrivateField"); Assert.AreEqual(origValue + 1, actualValue); typeAcc.SetStaticFieldOrProperty("_staticPrivateField", origValue - 1); actualValue = (int)typeAcc.GetStaticFieldOrProperty("_staticPrivateField"); Assert.AreEqual(origValue - 1, actualValue); }
public void PrepareTest() { // preparing logger _log = new StringBuilder(); var loggers = new[] { new PackagingTestLogger(_log) }; var loggerAcc = new TypeAccessor(typeof(Logger)); loggerAcc.SetStaticField("_loggers", loggers); var builder = CreateRepositoryBuilderForTest(); builder.UsePackagingDataProviderExtension(new InMemoryPackageStorageProvider()); RepositoryVersionInfo.Reset(); }
private void InitializePackagingTest(RepositoryBuilder builder) { _log = new StringBuilder(); var loggers = new[] { new PackagingTestLogger(_log) }; var loggerAcc = new TypeAccessor(typeof(SenseNet.Packaging.Logger)); loggerAcc.SetStaticField("_loggers", loggers); using (var ctx = new MsSqlDataContext(ConnectionStrings.ConnectionString, DataOptions.GetLegacyConfiguration(), CancellationToken.None)) { DropPackagesTable(ctx); InstallPackagesTable(ctx); } RepositoryVersionInfo.Reset(); }
public void PrepareTest() { // preparing logger _log = new StringBuilder(); var loggers = new[] { new PackagingTestLogger(_log) }; var loggerAcc = new TypeAccessor(typeof(Logger)); loggerAcc.SetStaticField("_loggers", loggers); var builder = CreateRepositoryBuilderForTest(TestContext, services => { services.AddSingleton <IPackagingDataProvider, InMemoryPackageStorageProvider>(); }); RepositoryVersionInfo.Reset(); }
public void Packaging_DependencyCheck_LoggingDependencies() { PackagingTest(() => { var logger = new StringBuilder(); var loggers = new[] { new PackagingTestLogger(logger) }; var loggerAcc = new TypeAccessor(typeof(SenseNet.Packaging.Logger)); loggerAcc.SetStaticField("_loggers", loggers); using (new Swindler <IPackagingLogger[]>(loggers, () => (IPackagingLogger[])loggerAcc.GetStaticField("_loggers"), value => loggerAcc.SetStaticField("_loggers", loggers))) { for (var i = 0; i < 9; i++) { ExecutePhases($@"<?xml version='1.0' encoding='utf-8'?> <Package type='Install'> <Id>Component{i + 1}</Id> <ReleaseDate>2017-01-01</ReleaseDate> <Version>{i + 1}.0</Version> </Package>"); } logger.Clear(); // action ExecutePhases(@"<?xml version='1.0' encoding='utf-8'?> <Package type='Install'> <Id>MyCompany.MyComponent</Id> <ReleaseDate>2017-01-02</ReleaseDate> <Version>1.2</Version> <Dependencies> <Dependency id='Component1' version= '1.0' /> <Dependency id='Component2' minVersion= '1.0' /> <Dependency id='Component3' maxVersion= '9.0' /> <Dependency id='Component4' minVersionExclusive='1.0' /> <Dependency id='Component5' maxVersionExclusive='9.0' /> <Dependency id='Component6' minVersion= '1.0' maxVersion= '10.0' /> <Dependency id='Component7' minVersion= '1.0' maxVersionExclusive='10.0' /> <Dependency id='Component8' minVersionExclusive='1.0' maxVersion= '10.0' /> <Dependency id='Component9' minVersionExclusive='1.0' maxVersionExclusive='10.0' /> </Dependencies> </Package>"); // check var log = logger.ToString(); var relevantLines = new List <string>(); using (var reader = new StringReader(log)) { string line; while ((line = reader.ReadLine()) != null) { line = line.Trim(); if (line.StartsWith("Component") && !line.StartsWith("ComponentId")) { relevantLines.Add(line); } } } Assert.AreEqual("Component1: 1.0 = 1.0 (current)", relevantLines[0]); Assert.AreEqual("Component2: 1.0 <= 2.0 (current)", relevantLines[1]); Assert.AreEqual("Component3: 3.0 (current) <= 9.0", relevantLines[2]); Assert.AreEqual("Component4: 1.0 < 4.0 (current)", relevantLines[3]); Assert.AreEqual("Component5: 5.0 (current) <= 9.0", relevantLines[4]); Assert.AreEqual("Component6: 1.0 <= 6.0 (current) <= 10.0", relevantLines[5]); Assert.AreEqual("Component7: 1.0 <= 7.0 (current) <= 10.0", relevantLines[6]); Assert.AreEqual("Component8: 1.0 < 8.0 (current) < 10.0", relevantLines[7]); Assert.AreEqual("Component9: 1.0 < 9.0 (current) < 10.0", relevantLines[8]); } }); }