public void IsAssemblyQualifiedNameTest_True() { var tests = new[] { "UserQuery+C, query_quytvu, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", "UserQuery+C, query_quytvu, Version=0.0.0.0", "UserQuery+C, query_quytvu", "UserQuery.C, query_quytvu, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", "UserQuery.C, query_quytvu, Version=0.0.0.0", "UserQuery.C, query_quytvu", "a, b", "a.b, c.d", "a, x.y", "UserQuery+C, x.y", "List<Tuple<string, string>>, x.y", "Tuple<string, string>, x.y", "(a, b, c), x.y", "Dict<int, string[]>, x.y", "Dict<int, string[]>[], x.y", "Dict<string[], int>[], x.y", "Dict<string[], int>, x.y", }; foreach (var test in tests) { var repositoryUses = new RepositoryUsesInfo { PropertyType = test }; Assert.IsTrue(repositoryUses.HasAssemblyQualifiedName(), $"Test input: {test}"); } }
private void InjectClearCacheOnSave(List <IConceptInfo> newConcepts, string entityName, string loadOldPropertyValue, string snippetClearCache) { var commonModule = new ModuleInfo { Name = "Common" }; var entity = new EntityInfo { Module = commonModule, Name = entityName }; var usesAuthorizationDataCache = new RepositoryUsesInfo { DataStructure = entity, PropertyType = "Rhetos.Dom.DefaultConcepts.AuthorizationDataCache, Rhetos.Dom.DefaultConcepts", PropertyName = "_authorizationDataCache" }; var saveMethod = new SaveMethodInfo { Entity = entity }; newConcepts.AddRange(new IConceptInfo[] { usesAuthorizationDataCache, saveMethod }); if (loadOldPropertyValue != null) { var loadOldItems = new LoadOldItemsInfo { SaveMethod = saveMethod }; var loadOldItemsProperty = new LoadOldItemsTakeInfo { LoadOldItems = loadOldItems, Path = loadOldPropertyValue }; newConcepts.AddRange(new IConceptInfo[] { loadOldItems, loadOldItemsProperty }); } var clearCache = new OnSaveUpdateInfo { SaveMethod = saveMethod, RuleName = "ClearAuthenticationCache", CsCodeSnippet = snippetClearCache }; newConcepts.AddRange(new IConceptInfo[] { clearCache }); }
public void IsAssemblyQualifiedNameTest_False() { var tests = new[] { "a", "UserQuery+C", "List<Tuple<string, string>>", "Tuple<string, string>", "(a, b, c)", "Dict<int, string[]>", "Dict<int, string[]>[]", "Dict<string[], int>[]", "Dict<string[], int>", }; foreach (var test in tests) { var repositoryUses = new RepositoryUsesInfo { PropertyType = test }; Assert.IsFalse(repositoryUses.HasAssemblyQualifiedName(), $"Test input: {test}"); } }