public void Process(BundleContext context, BundleResponse response) { var pathsAllowed = new[] { context.HttpContext.Server.MapPath("~/Content/css/"), context.HttpContext.Server.MapPath(BundleConfig.AdminThemeDirectory) }; var builder = new StringBuilder(); foreach (var bundleFile in response.Files) { string normalizeFile = context.HttpContext.Server.MapPath(bundleFile.IncludedVirtualPath); if (pathsAllowed.Any(normalizeFile.StartsWith) == false) throw new Exception("Path not allowed"); if (File.Exists(normalizeFile) == false) continue; var content = File.ReadAllText(normalizeFile); string path; if (FilesToNormalize.TryGetValue(bundleFile.VirtualFile.Name, out path)) content = NormalizeImports(content, context.HttpContext.Server.MapPath(path)); builder.AppendLine(content); } response.Content = Less.Parse(builder.ToString(), new DotlessConfiguration { DisableUrlRewriting = true }); response.ContentType = "text/css"; }
public override void OnInstallingContent() { _container = new GameObject(REX_OBJECT_NAME); var tinyZoneBlockCreators = new [] { Alley2LBuilder.NAME, OneWay1LBuilder.NAME, ZonablePedestrianTinyGravelRoadBuilder.NAME, ZonablePedestrianTinyPavedRoadBuilder.NAME, ZonablePedestrianTinyStoneRoadBuilder.NAME }; foreach (var name in tinyZoneBlockCreators) { RoadZoneBlocksCreationManager.RegisterCustomCreator<TinyRoadZoneBlocksCreator>(name); RoadSnappingModeManager.RegisterCustomSnapping<TinyRoadSnappingMode>(name); } _menuInstaller = _container.AddInstallerComponent<MenuInstaller>(); _menuInstaller.Host = this; _roadsInstaller = _container.AddInstallerComponent<RoadsInstaller>(); _roadsInstaller.Host = this; }
public void ConstructorWithAllParametersSetsPropertiesFromArguments() { const string expectedValue = "c3po"; var expectedFields = new[] { "jawas", "homestead" }; var criteria = new QueryStringCriteria(expectedValue, expectedFields); Assert.Equal(expectedValue, criteria.Value); Assert.Equal(expectedFields, criteria.Fields); }
private void AddSuburbValidation() { var suburbProperties = new[] {"SuburbName", "SuburbCode", "Suburb"}; const string errorMessage = "The Suburb and PostCode are required"; _validators.Add(new CallbackValidator(()=> { suburbProperties.ForEach(RemoveErrors); if(Suburb==null && (String.IsNullOrEmpty(SuburbName) || String.IsNullOrEmpty(SuburbCode))) suburbProperties.ForEach(p => AddError(p, errorMessage)); }, suburbProperties)); }
public static void FixMaterials() { if (!RenderSettings.fog) { RenderSettings.fog = true; RenderSettings.fogDensity = 0.0002f; } //string assetPath = Selection.activeObject == null ? "Assets/!tracks/textures" : AssetDatabase.GetAssetPath(Selection.activeObject); string assetsPath = "Assets/!tracks/textures"; Directory.CreateDirectory(assetsPath); foreach (Material m in Resources.FindObjectsOfTypeAll(typeof(Material))) { if (!m.shader.name.EndsWith("Diffuse")) continue; var mainTexture = m.mainTexture; //if (mainTexture == null) continue; var path = AssetDatabase.GetAssetPath(mainTexture); { Texture2D loadAssetAtPath = new[] { ".tif", ".png" }.Select(a => (Texture2D)AssetDatabase.LoadAssetAtPath(assetsPath + "/" + m.name + a, typeof(Texture2D))).FirstOrDefault(a => a != null); //print.Log(assetsPath + "/" + m.name + ".png"); if (loadAssetAtPath != null) { m.mainTexture = loadAssetAtPath; EditorUtility.SetDirty(m); } else if (path.EndsWith(".dds")) { print.Log("Creating png" + m.name); var t = new Texture2D(mainTexture.width, mainTexture.height, TextureFormat.ARGB32, true); t.SetPixels32(((Texture2D)mainTexture).GetPixels32()); var png = ((Texture2D)t).EncodeToPNG(); var newPath = assetsPath + "/" + m.name + ".png"; File.WriteAllBytes(newPath, png); AssetDatabase.Refresh(); m.mainTexture = (Texture2D)AssetDatabase.LoadAssetAtPath(newPath, typeof(Texture2D)); } } } AssetDatabase.Refresh(); foreach (Renderer renderer in FindObjectsOfType(typeof(Renderer))) { if (renderer.gameObject.layer == Layer.def) renderer.gameObject.layer = Layer.level; if (renderer.gameObject.layer == Layer.level) renderer.gameObject.isStatic = true; } }
public void FindPackagesOverloadReturnsEmptySequenceIfTermIsNotFoundInProperties() { // Arrange var packages = new[] { PackageUtility.CreatePackage("Foo.Qux"), PackageUtility.CreatePackage("X-Package", tags: " lib qux "), PackageUtility.CreatePackage("Filtered"), PackageUtility.CreatePackage("B", description: "This is a package for qux and not one for baz"), }; // Act var result1 = packages.AsQueryable().Find(new[] { "Summary" }, "Qux"); // Assert Assert.Empty(result1); }
public void FindPackagesOverloadLooksForSearchTermsInSpecificFields() { // Arrange var packages = new[] { PackageUtility.CreatePackage("Foo.Qux", description: "Some desc"), PackageUtility.CreatePackage("X-Package", tags: " lib qux "), PackageUtility.CreatePackage("Filtered"), PackageUtility.CreatePackage("B", description: "This is a package for qux and not one for baz"), }; // Act var result1 = packages.AsQueryable().Find(new[] { "Description", "Tags" }, "Qux"); var result2 = packages.AsQueryable().Find(new[] { "Id" }, "Filtered"); // Assert Assert.Equal(new[] { packages[1], packages[3] }, result1.ToArray()); Assert.Equal(new[] { packages[2], }, result2.ToArray()); }
public void TestFindAllByMediaType() { var structure = BuildMultiPart(); var found = structure.FindAll(MimeType.TextPlain); var expectedSections = new[] {"1", "2.1", "3.1"}; var index = 0; Assert.IsNotNull(found); foreach (var s in found) { Assert.IsNotNull(s); Assert.AreEqual(expectedSections[index++], s.Section); } found = structure.FindAll(MimeType.ApplicationOctetStream); Assert.IsNotNull(found); Assert.AreEqual(0, found.Count()); }
public void ReturnsEstablishment_WhenIdCanBeMatched() { const int id = 6; var query = new GetEstablishmentByIdQuery(id); var establishment = new Establishment { RevisionId = id, }; var establishments = new[] { establishment, }.AsQueryable(); var entities = new Mock<IQueryEntities>(MockBehavior.Strict); entities.Setup(p => p.Query<Establishment>()).Returns(establishments); var handler = new GetEstablishmentByIdHandler(entities.Object); var result = handler.Handle(query); result.ShouldNotBeNull(); result.RevisionId.ShouldEqual(id); }
public void TestFindAll() { var structure = BuildMultiPart(); var found = structure.FindAll(delegate(IImapBodyStructure s) { return !s.IsMultiPart; }); var expectedSections = new[] {"1", "2.1", "2.2", "3", "3.1"}; var index = 0; Assert.IsNotNull(found); foreach (var s in found) { Assert.IsNotNull(s); Assert.AreEqual(expectedSections[index++], s.Section); } found = structure.FindAll(delegate(IImapBodyStructure s) { return s is IImapBodyStructureExtension; }); Assert.IsNotNull(found); Assert.AreEqual(0, found.Count()); }
public void Update() { if (Input.GetKeyDown(KeyCode.Escape)) Cancel(); sPos = Mathf.Lerp(sPos, car, Time.deltaTime * 2); sPos = Mathf.MoveTowards(sPos, car, Time.deltaTime * .3f); carName.text = (CarId + 1) + "/" + _Loader.CarSkins.Count; if (Input.GetMouseButton(0)) { var mouseDelta = getMouseDelta(); //camRot.x -= mouseDelta.y * 3; camRot.y += mouseDelta.x * 3; } else camRot.y += 10 * Time.deltaTime; camRot.x = Mathf.Clamp(camRot.x, 0, 45); cam.eulerAngles = camRot; GUITexture[] txts = new[] { leftButton, rightButton, selectButton, cancelButton, selectFlagButton }; carSkin = _Loader.GetCarSkin(CarId, true); locked = false; if (!carSkin.medalsUnlocked && !_Loader.carsCheat) { locked = true; lockedTxt.text = string.Format(Tr("You need {0} medals to unlock this car, you have {1}"), carSkin.medalsNeeded, _Loader.medals); } else if (carSkin.friendsNeeded > _Integration.FbFriendsInGame && !_Loader.tankCheat) { locked = true; lockedTxt.text = string.Format(Tr("You need {0} invited friends on facebook to unlock this tank, you have {1}"), carSkin.friendsNeeded, _Integration.FbFriendsInGame); } lockedButton.enabled = locked; selectButton.texture = locked ? lockedIcon : selectIcon; lockedTxt.enabled = textbacground.enabled = locked; selectFlagButton.enabled = car == 0; var posx = Mod(sPos + .5f, 1) - .5f; foreach (GUITexture a in txts) { //a.enabled = animation.isPlaying; var hitTest = a.HitTest(Input.mousePosition) && (a != selectButton || !locked); a.color = hitTest ? new Color(1, 1, 1, 1) : new Color(.5f, .5f, .5f, 1); if (hitTest && Input.GetMouseButtonDown(0)) { //var leftButtonDown = a == leftButton ; //var rightButtonDown = a == rightButton ; ////if(Math.Abs(old - posx) < .005f) //if (leftButtonDown || rightButtonDown) //{ // var i = leftButtonDown ? -1 : 1; // while (true) // { // car += i; // if (_Loader.GetCarSkin(CarId).friendsNeeded == 0 || _Integration.fbLoggedIn || _Loader.tankCheat) // break; // } // break; //} //if (selectFlagButton.enabled && selectFlagButton == a) //{ // _Loader.Country++; // _Loader.Country = (CountryCodes)((int)_Loader.Country % Enum.GetValues(typeof(CountryCodes)).Length); // SetFlag(carModel, _Loader.Country); //} //if (input.GetKeyDown(KeyCode.Escape) || cancelButton == a) //{ // Cancel(); //} //else if (!locked && selectButton == a) //{ // _Loader.carSkin = CarId; // LoadLevel(Levels.menu); //} } } if (Math.Abs(old - posx) > .9f) { LoadSkin(); } old = posx; CarPlaceHolder.parent.position = -Camera.main.transform.right * posx * Scale; }
/// <summary> /// Called when a spell gets casted. /// </summary> /// <param name="sender">The Sender</param> /// <param name="args">The Args</param> private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.IsMe && args.SData.Name.ToLower() == "pounce") { var unit = args.Target as AIHeroClient; if (unit == null) { return; } if (unit.IsValidTarget() && Essentials.IsHunted(unit)) Essentials.TimeStamp["Pounce"] = Game.Time + 1.5f; else Essentials.TimeStamp["Pounce"] = Game.Time + (5 + (5 * Player.Instance.PercentCooldownMod)); } if (sender.IsMe && args.SData.Name.ToLower() == "swipe") { Essentials.TimeStamp["Swipe"] = Game.Time + (5 + (5 * Player.Instance.PercentCooldownMod)); } if (sender.IsMe && args.SData.Name.ToLower() == "primalsurge") { Essentials.TimeStamp["Primalsurge"] = Game.Time + (12 + (12 * Player.Instance.PercentCooldownMod)); } if (sender.IsMe && args.SData.Name.ToLower() == "bushwhack") { var wperlevel = new[] { 13, 12, 11, 10, 9 }[WCat.Level]; Essentials.TimeStamp["Bushwhack"] = Game.Time + (wperlevel + (wperlevel * Player.Instance.PercentCooldownMod)); } if (sender.IsMe && args.SData.Name.ToLower() == "javelintoss") { Essentials.TimeStamp["Javelin"] = Game.Time + (6 + (6 * Player.Instance.PercentCooldownMod)); } if (sender.IsMe && args.SData.IsAutoAttack() && Player.Instance.HasBuff("Takedown")) { Essentials.TimeStamp["Takedown"] = Game.Time + (5 + (5 * Player.Instance.PercentCooldownMod)); } }
public void SimpleStatementDateTests() { Session.Execute("CREATE TABLE tbl_date_param (id int PRIMARY KEY, v date, m map<date, text>)"); var values = new[] { new LocalDate(2010, 4, 29), new LocalDate(0, 3, 12), new LocalDate(-10, 2, 4), new LocalDate(5881580, 7, 11), new LocalDate(-5877641, 6, 23) }; for (var i = 0; i < values.Length; i++) { var v = values[i]; var insert = new SimpleStatement("INSERT INTO tbl_date_param (id, v, m) VALUES (?, ?, ?)", i, v, new SortedDictionary<LocalDate, string> { { v, v.ToString() } }); var select = new SimpleStatement("SELECT * FROM tbl_date_param WHERE id = ?", i); Session.Execute(insert); var rs = Session.Execute(select).ToList(); Assert.AreEqual(1, rs.Count); Assert.AreEqual(v, rs[0].GetValue<LocalDate>("v")); Assert.AreEqual(v.ToString(), rs[0].GetValue<SortedDictionary<LocalDate, string>>("m")[v]); } }
public ActionResult Solutions() { var solutionsNames = new[] { "dlja-servernyh-komnat-i-6kafov", "udaljonnoe-upravlenie-jelektropitaniem", "re6enija-na-osnove-POE" }; var model = new ProductsModel { ActiveSection = NavigationProvider.GetAllSections().First(s => s.Url == "solutions") }; var devices = new List<Device>(); foreach (var solutionName in solutionsNames) { var sub = _repository.Devices.FirstOrDefault(d => d.Url == solutionName); if (sub != null) { devices.AddRange(_repository.Devices.Where(d => !d.Name.IsGroup() && d.Name.IsUnderOther(sub.Name))); } } model.Devices = devices; model.ActiveSection.IsSelected = true; var sections = NavigationProvider.GetAllSections().Where(m => m.Url != model.ActiveSection.Url); sections.ForEach(m => model.Sections.Add(m)); //return View(model); return View("Adaptive_Index", model); }
/// <summary> /// Create the template output /// </summary> public virtual string TransformText() { this.Write("\n"); this.Write("\n"); this.Write("\n"); this.Write("\n"); this.Write("\n"); this.Write("\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" var orderName =new List<string>(); #line default #line hidden this.Write("\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" var nullableType = new []{"int","bool","float","double","decimal","Int32","char","DateTime"}; #line default #line hidden this.Write("\nusing System;\n\nnamespace "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(_projectName)); #line default #line hidden this.Write(".Entity.Model\n{\n\tpublic class "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(_entityName)); #line default #line hidden this.Write(@"SearchCondition { /// <summary> /// 页码 /// </summary> public int? Page { get; set; } /// <summary> /// 每页大小 /// </summary> public int? PageCount { get; set; } /// <summary> /// 是否降序 /// </summary> public bool IsDescending { get; set; } "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" foreach(var model in _models){ if(model.Type == EnumSearchType.In){ #line default #line hidden this.Write("\n\t\tpublic "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchType)); #line default #line hidden this.Write("[] "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchName)); #line default #line hidden this.Write("s { get; set; }\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" } else if (model.Type == EnumSearchType.Like) { #line default #line hidden this.Write("\n\t\tpublic "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchType)); #line default #line hidden #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture((nullableType.Contains(model.SearchType) || model.SearchType.StartsWith("Enum"))?"?":"")); #line default #line hidden this.Write(" "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchName)); #line default #line hidden this.Write(" { get; set; }\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" } else if (model.Type == EnumSearchType.Equal) { #line default #line hidden this.Write("\n\t\tpublic "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchType)); #line default #line hidden #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture((nullableType.Contains(model.SearchType) || model.SearchType.StartsWith("Enum"))?"?":"")); #line default #line hidden this.Write(" "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchName)); #line default #line hidden this.Write(" { get; set; }\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" }else if (model.Type == EnumSearchType.Range) { #line default #line hidden this.Write("\n\t\tpublic "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchType)); #line default #line hidden #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture((nullableType.Contains(model.SearchType) || model.SearchType.StartsWith("Enum"))?"?":"")); #line default #line hidden this.Write(" "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchName)); #line default #line hidden this.Write("Begin { get; set; }\n\n\t\tpublic "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchType)); #line default #line hidden #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture((nullableType.Contains(model.SearchType) || model.SearchType.StartsWith("Enum"))?"?":"")); #line default #line hidden this.Write(" "); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(model.SearchName)); #line default #line hidden this.Write("End { get; set; }\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" } else { orderName.Add(model.SearchName); } #line default #line hidden this.Write("\n\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" } #line default #line hidden this.Write("\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" if(orderName.Count() >0){ #line default #line hidden this.Write("\n\t\tpublic Enum"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(_entityName)); #line default #line hidden this.Write("SearchOrderBy? OrderBy { get; set; }\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" } #line default #line hidden this.Write("\n\t}\n\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" if(orderName.Count() >0){ #line default #line hidden this.Write("\n\tpublic enum Enum"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(_entityName)); #line default #line hidden this.Write("SearchOrderBy\n\t{\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" foreach(var name in orderName) { #line default #line hidden this.Write("\n\t\tOrderBy"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" this.Write(this.ToStringHelper.ToStringWithCulture(name)); #line default #line hidden this.Write(",\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" } #line default #line hidden this.Write("\n\t}\n"); #line 1 "D:\Project_Zerg\Dev\Code\YP.CodeGen\Templates\ConditionTemplate.tt" } #line default #line hidden this.Write("\n}"); return this.GenerationEnvironment.ToString(); }
public async Task TestMultiMapArbitraryMapsAsync() { // please excuse the trite example, but it is easier to follow than a more real-world one const string createSql = @" create table #ReviewBoards (Id int, Name varchar(20), User1Id int, User2Id int, User3Id int, User4Id int, User5Id int, User6Id int, User7Id int, User8Id int, User9Id int) create table #Users (Id int, Name varchar(20)) insert #Users values(1, 'User 1') insert #Users values(2, 'User 2') insert #Users values(3, 'User 3') insert #Users values(4, 'User 4') insert #Users values(5, 'User 5') insert #Users values(6, 'User 6') insert #Users values(7, 'User 7') insert #Users values(8, 'User 8') insert #Users values(9, 'User 9') insert #ReviewBoards values(1, 'Review Board 1', 1, 2, 3, 4, 5, 6, 7, 8, 9) "; await connection.ExecuteAsync(createSql); try { const string sql = @" select rb.Id, rb.Name, u1.*, u2.*, u3.*, u4.*, u5.*, u6.*, u7.*, u8.*, u9.* from #ReviewBoards rb inner join #Users u1 on u1.Id = rb.User1Id inner join #Users u2 on u2.Id = rb.User2Id inner join #Users u3 on u3.Id = rb.User3Id inner join #Users u4 on u4.Id = rb.User4Id inner join #Users u5 on u5.Id = rb.User5Id inner join #Users u6 on u6.Id = rb.User6Id inner join #Users u7 on u7.Id = rb.User7Id inner join #Users u8 on u8.Id = rb.User8Id inner join #Users u9 on u9.Id = rb.User9Id "; var types = new[] { typeof(ReviewBoard), typeof(User), typeof(User), typeof(User), typeof(User), typeof(User), typeof(User), typeof(User), typeof(User), typeof(User) }; Func<object[], ReviewBoard> mapper = (objects) => { var board = (ReviewBoard)objects[0]; board.User1 = (User)objects[1]; board.User2 = (User)objects[2]; board.User3 = (User)objects[3]; board.User4 = (User)objects[4]; board.User5 = (User)objects[5]; board.User6 = (User)objects[6]; board.User7 = (User)objects[7]; board.User8 = (User)objects[8]; board.User9 = (User)objects[9]; return board; }; var data = (await connection.QueryAsync<ReviewBoard>(sql, types, mapper)).ToList(); var p = data.First(); p.Id.IsEqualTo(1); p.Name.IsEqualTo("Review Board 1"); p.User1.Id.IsEqualTo(1); p.User2.Id.IsEqualTo(2); p.User3.Id.IsEqualTo(3); p.User4.Id.IsEqualTo(4); p.User5.Id.IsEqualTo(5); p.User6.Id.IsEqualTo(6); p.User7.Id.IsEqualTo(7); p.User8.Id.IsEqualTo(8); p.User9.Id.IsEqualTo(9); p.User1.Name.IsEqualTo("User 1"); p.User2.Name.IsEqualTo("User 2"); p.User3.Name.IsEqualTo("User 3"); p.User4.Name.IsEqualTo("User 4"); p.User5.Name.IsEqualTo("User 5"); p.User6.Name.IsEqualTo("User 6"); p.User7.Name.IsEqualTo("User 7"); p.User8.Name.IsEqualTo("User 8"); p.User9.Name.IsEqualTo("User 9"); } finally { connection.Execute("drop table #Users drop table #ReviewBoards"); } }
public void NodeList_NoPermission() { //create a folder and switch ON versioning var folderPath = RepositoryPath.Combine(Repository.Root.Path, "VersionFolder"); var folder = LoadOrCreateFolder(folderPath); folder.InheritableVersioningMode = InheritableVersioningType.MajorAndMinor; folder.Save(); //grant only open major permission to hide draft versions folder.Security.SetPermission(TestUser, true, PermissionType.See, PermissionValue.Allow); folder.Security.SetPermission(TestUser, true, PermissionType.Open, PermissionValue.Allow); var feladat1Path = RepositoryPath.Combine(folderPath, "Feladat1.txt"); var feladat2Path = RepositoryPath.Combine(folderPath, "Feladat2.txt"); var feladat3Path = RepositoryPath.Combine(folderPath, "Feladat3.txt"); var file1 = CreateBrandNewFile(feladat1Path); var file2 = CreateBrandNewFile(feladat2Path); var file3 = CreateBrandNewFile(feladat3Path); //publish 2 of 3 file1.Publish(); file3.Publish(); var intList = new[] { file1.Id, file2.Id, file3.Id }; //check with admin rights var nodeList = (NodeList<Node>)new PrivateObject(typeof(NodeList<Node>), intList).Target; var nodes = (IEnumerable<Node>)nodeList; Assert.IsTrue(nodeList.Count == 3, "#1 NodeList.Count"); //DO NOT USE ToList() here, because it creates //an array that uses the first, wrong size. The result //will be a few 'null' nodes at the end of the list... //var list = nodes.ToList(); var list = new List<Node>(); foreach (var node in nodes) list.Add(node); Assert.IsTrue(list.Count == 3, "#2 enumerated Count"); var orig = AccessProvider.Current.GetCurrentUser(); //switch to test user AccessProvider.Current.SetCurrentUser(TestUser); nodeList = (NodeList<Node>)new PrivateObject(typeof(NodeList<Node>), intList).Target; nodes = (IEnumerable<Node>)nodeList; //Count is still the same Assert.IsTrue(nodeList.Count == 3, "#3 NodeList.Count with less permissions"); list = new List<Node>(); foreach (var node in nodes) list.Add(node); //enumerated values are one less Assert.IsTrue(list.Count == 2, "#4 enumerated Count with less permissions"); //switch back to the original user AccessProvider.Current.SetCurrentUser(orig); }
/// <summary> /// Converts the current <see cref="Domain" /> instance to a string array. /// </summary> /// <returns>An array in the format of [[subdomain], maindomain, tld]</returns> public string[] ToArray() { var array = new[] { this.SubDomain, this.MainDomain, this.TLD }; array = array.SkipWhile(string.IsNullOrEmpty).ToArray(); return array; }
public void SimpleStatementTimeTests() { Session.Execute("CREATE TABLE tbl_time_param (id int PRIMARY KEY, v time, m map<time, text>)"); var values = new[] { new LocalTime(0, 0, 0, 0), new LocalTime(0, 1, 1, 789), new LocalTime(6, 1, 59, 0), new LocalTime(10, 31, 5, 789776), new LocalTime(23, 59, 59, 999999999), }; for (var i = 0; i < values.Length; i++) { var v = values[i]; var insert = new SimpleStatement("INSERT INTO tbl_time_param (id, v, m) VALUES (?, ?, ?)", i, v, new SortedDictionary<LocalTime, string> { { v, v.ToString() } }); var select = new SimpleStatement("SELECT * FROM tbl_time_param WHERE id = ?", i); Session.Execute(insert); var rs = Session.Execute(select).ToList(); Assert.AreEqual(1, rs.Count); Assert.AreEqual(v, rs[0].GetValue<LocalTime>("v")); Assert.AreEqual(v.ToString(), rs[0].GetValue<SortedDictionary<LocalTime, string>>("m")[v]); } }
public void AzureReservedIPTest() { StartTest(MethodBase.GetCurrentMethod().Name, testStartTime); try { // IP1 and IP2 on AG1 vmPowershellCmdlets.NewAzureAffinityGroup(affName1, locationName, null, null); vmPowershellCmdlets.NewAzureReservedIP(rsvIpName1, affName1, rsvIPLabel); vmPowershellCmdlets.NewAzureReservedIP(rsvIpName2, affName1, rsvIPLabel); var reservedIPReturned = vmPowershellCmdlets.GetAzureReservedIP(rsvIpName1)[0]; Verify.AzureReservedIPNotInUse(reservedIPReturned, rsvIpName1, rsvIPLabel, affName1); // Create an affinity group in another location var anotherLocation = GetLocation("PersistentVMRole", locationName); vmPowershellCmdlets.NewAzureAffinityGroup(affName2, anotherLocation.Name, null, null); string rsvIpName3 = rsvIpNamePrefix + Utilities.GetUniqueShortName(); string rsvIpName4 = rsvIpNamePrefix + Utilities.GetUniqueShortName(); var rsvIPNames = new[] {rsvIpName1, rsvIpName2, rsvIpName3, rsvIpName4}; vmPowershellCmdlets.NewAzureReservedIP(rsvIpName3, affName2, rsvIPLabel); // IP3 on AG2 vmPowershellCmdlets.NewAzureReservedIP(rsvIpName4, affName2, rsvIPLabel); // IP4 on AG2 var rsvIPs = vmPowershellCmdlets.GetAzureReservedIP(); foreach (var ip in rsvIPs) { if (rsvIPNames.Contains(ip.ReservedIPName)) { reservedIPReturned = vmPowershellCmdlets.GetAzureReservedIP(ip.ReservedIPName)[0]; Verify.AzureReservedIPNotInUse(reservedIPReturned, ip.ReservedIPName, ip.Label, ip.AffinityGroup, ip.Id); } } // Remove IP1 vmPowershellCmdlets.RemoveAzureReservedIP(rsvIpName1); Utilities.CheckRemove(vmPowershellCmdlets.GetAzureReservedIP, rsvIpName1); rsvIPs = vmPowershellCmdlets.GetAzureReservedIP(); foreach (var ip in rsvIPs) { if (rsvIPNames.Contains(ip.ReservedIPName)) { reservedIPReturned = vmPowershellCmdlets.GetAzureReservedIP(ip.ReservedIPName)[0]; Verify.AzureReservedIPNotInUse(reservedIPReturned, ip.ReservedIPName, ip.Label, ip.AffinityGroup, ip.Id); } } // Remove IP3 vmPowershellCmdlets.RemoveAzureReservedIP(rsvIpName3); Utilities.CheckRemove(vmPowershellCmdlets.GetAzureReservedIP, rsvIpName3); rsvIPs = vmPowershellCmdlets.GetAzureReservedIP(); foreach (var ip in rsvIPs) { if (rsvIPNames.Contains(ip.ReservedIPName)) { reservedIPReturned = vmPowershellCmdlets.GetAzureReservedIP(ip.ReservedIPName)[0]; Verify.AzureReservedIPNotInUse(reservedIPReturned, ip.ReservedIPName, ip.Label, ip.AffinityGroup, ip.Id); } } vmPowershellCmdlets.RemoveAzureReservedIP(rsvIpName4); Utilities.CheckRemove(vmPowershellCmdlets.GetAzureReservedIP, rsvIpName4); vmPowershellCmdlets.RemoveAzureReservedIP(rsvIpName2); Utilities.CheckRemove(vmPowershellCmdlets.GetAzureReservedIP, rsvIpName2); pass = true; } catch (Exception e) { Console.WriteLine(e.ToString()); throw; } }
/// <summary> /// Handles any defined global parameter that has any input /// </summary> private void HandleDefinedGlobals(Dictionary<string, string> args, object obj) { var globals = GetDefinedGlobals(); foreach (var method in globals) { var att = method.GetAttribute<GlobalAttribute>(); var name = att.Name ?? method.Name; var allNames = new[] { name }.Union(att.Aliases.CommaSplit()); var key = args.Keys.FirstOrDefault( k => allNames.Any( n => n.Equals(k, StringComparison.InvariantCultureIgnoreCase))); if (key != null) { var parameters = method.GetParameters(); if (parameters.Length == 0) { MethodInvoker.Invoke(method, obj, null); } else if (parameters.Length == 1) { string stringValue; if (args.TryGetValue(key, out stringValue)) { var p = parameters.First(); var value = ValuesFactory.GetValueForParameter(p, p.ParameterType, key, stringValue); // validation // if (value != null && p.HasAttribute<ValidationAttribute>()) { var parameterValidators = p.GetAttributes<ValidationAttribute>().Select(a => a.GetValidator()); // all validators must pass // foreach (var validator in parameterValidators) { validator.Validate(new ValueInfo(p.Name, p.ParameterType, value)); } } var validators = method.GetInterfaceAttributes<ICollectionValidation>(). Select(a => a.GetValidator()); foreach (var validator in validators) { validator.Validate(new[] { new ValueInfo(p.Name, p.ParameterType, value), }); } MethodInvoker.Invoke(method, obj, new[] { value }); } } else { throw new NotSupportedException( "Method {0} has more than one parameter and cannot be handled as a global handler".FormatWith(method.Name)); } // remove it so later we'll see which ones were not handled // args.Remove(key); } } }
/// <summary> /// Overrides the <see cref="Control.SaveViewState"/> /// method. /// </summary> /// <returns> /// Returns the server control's current view state. /// If there is no view state associated with the control, /// this method returns a null reference (Nothing in Visual Basic). /// </returns> /// <remarks> /// Saves the <see cref="TitleStyle"/> state in addition /// to the base class states. /// </remarks> protected override object SaveViewState() { object baseState = base.SaveViewState(); object titleStyle = (this._titleStyle != null) ? ((IStateManager)this._titleStyle).SaveViewState() : null; var state = new[] { baseState, titleStyle }; return state; }
public void TestTraverseMultiPart() { var expectedSections = new[] {"1", "2", "2.1", "2.2", "3", "3.1"}; var index = 0; ImapBodyStructureUtils.Traverse(BuildMultiPart(), delegate(IImapBodyStructure s) { Assert.AreEqual(expectedSections[index++], s.Section); }); }
private async Task LiteralReplacement(IDbConnection conn) { try { await conn.ExecuteAsync("drop table literal1"); } catch { } await conn.ExecuteAsync("create table literal1 (id int not null, foo int not null)"); await conn.ExecuteAsync("insert literal1 (id,foo) values ({=id}, @foo)", new { id = 123, foo = 456 }); var rows = new[] { new { id = 1, foo = 2 }, new { id = 3, foo = 4 } }; await conn.ExecuteAsync("insert literal1 (id,foo) values ({=id}, @foo)", rows); var count = (await conn.QueryAsync<int>("select count(1) from literal1 where id={=foo}", new { foo = 123 })).Single(); count.IsEqualTo(1); int sum = (await conn.QueryAsync<int>("select sum(id) + sum(foo) from literal1")).Single(); sum.IsEqualTo(123 + 456 + 1 + 2 + 3 + 4); }
public void GetFilesInDirectoryIncludesSubDirectories() { var tempPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()); try { Directory.CreateDirectory(tempPath); var files = new[] { Path.Combine(tempPath, "file1.txt"), Path.Combine(tempPath, "file2.txt"), Path.Combine(tempPath, "file3.txt") }; foreach (var file in files) { File.WriteAllText(file, "Some data"); } var subDir = Path.Combine(tempPath, "subDir"); Directory.CreateDirectory(subDir); var subFile = Path.Combine(subDir, "file4.txt"); File.WriteAllText(subFile, "Some data"); var results = new SystemIoFileSystem().GetFilesInDirectory(tempPath, true); CollectionAssert.AreEqual(files.Concat(new[] { subFile}), results); } finally { // Clean up if (Directory.Exists(tempPath)) { Directory.Delete(tempPath, true); } } }
public async Task Issue157_ClosedReaderAsync() { var args = new { x = 42 }; const string sql = @"select 123 as [A], 'abc' as [B] where @x=42"; var row = (await connection.QueryAsync<SomeType>(new CommandDefinition( sql, args, flags:CommandFlags.None))).Single(); row.IsNotNull(); row.A.IsEqualTo(123); row.B.IsEqualTo("abc"); args = new { x = 5 }; (await connection.QueryAsync<SomeType>(new CommandDefinition( sql, args, flags: CommandFlags.None))).Any().IsFalse(); }
public const uint ForegroundColor = 0x202020;//(uint)(0xffffff ^ BackgroundColor); /// <summary> /// Default constructor /// </summary> public FlashZIndex() { var c = new Sprite { }; //c.graphics.beginFill(BackgroundColor); //c.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); //c.graphics.endFill(); Func<string, string, string> ToSize = (e, size) => "<font size='" + size + "'>" + e + "</font>"; Func<string, string, string> ToColor = (e, color) => "<font color='#" + color + "'>" + e + "</font>"; var keywords = new[] { "from", "this", " in", "orderby", " is", " descending", "select" }; Func<string, string> Colorize = e => { foreach (var keyword in keywords.OrderByDescending(i => i.Length)) { e = e.Replace(keyword, ToColor(keyword, "0000ff")); } return e; }; var t = new TextField { autoSize = TextFieldAutoSize.LEFT, defaultTextFormat = new TextFormat { size = 15, color = ForegroundColor }, mouseEnabled = false, filters = new[] { new DropShadowFilter() }, multiline = true, condenseWhite = true, x = 8, htmlText = Colorize( ToSize("flash zIndex example powered by <b>jsc</b>", "24") + "<br />" + @"click on the background to create<br /> or drag to see zIndex in effect<br /><br />" + ToColor(@" from v in this.Children() <br /> orderby v is TextField descending, v.y, v.x <br /> select v ", "000000") ) }; c.AttachTo(this); t.AttachTo(this); c.doubleClickEnabled = true; Action Reorder = delegate { Action<DisplayObject, int> SetZIndex = (k, i) => k.parent.setChildIndex(k, i); SetZIndex.ForEach( from v in this.GetChildren() orderby v is TextField descending, v.y, v.x select v ); }; Action ReorderThrottle = Reorder.ThrottleTo(500); c.click += q => { var x = q.stageX; var y = q.stageY; AddSprite(ReorderThrottle, x, y); ReorderThrottle(); }; 10.To(90)(i => AddSprite( ReorderThrottle, stage.stageWidth * i / 100, stage.stageHeight.Random(0.6, 0.9) ) ); Reorder(); }