/// <summary>指定位置の要素を取得する。</summary> /// <param name="index">削除するインデックス。</param> /// <param name="parent">木構造。</param> /// <param name="remove">削除状態。</param> /// <returns>バランス調整が必要ならば真。</returns> public bool RemoveAt(int index, BPlusTree <T> parent, ref RemoveResult remove) { if (remove.countIndex <= index && index < remove.countIndex + this.Count) { // 項目を削除する var i = index - remove.countIndex; if (i < this.Count - 1) { Array.Copy(this.value, i + 1, this.value, i, this.Count - (i + 1)); } #if DEBUG Array.Clear(this.value, this.Count - 1, 1); #endif // 項目数を減少 this.Count--; parent.Count--; return(true); } else { remove.countIndex += this.Count; return(false); } }
public JsonResult RemoveSection(int sectionID) { var result = new RemoveResult(); if (!Request.IsAjaxRequest()) { throw new InvalidCastException("Not an ajax request"); } try { var section = _shopService.GetSection(sectionID); if (section.CategoryParameter.Any()) { result.Result = false; result.Message = "Секция имеет параметры. В начале нужно удалить параметры, а затем секцию."; return(Json(result)); } _shopService.RemoveSection(section); result.Result = true; result.Message = "Удалено"; return(Json(result)); } catch { result.Result = false; result.Message = "Что-то пошло не так"; return(Json(result)); } }
/// <summary> /// Create Remove Contaminant Peak Result. /// </summary> /// <param name="scanNumbers">Scan Numbers</param> /// <param name="tempDir">Temporal Directory</param> /// <param name="ms1List">MS1 List</param> /// <returns>Remove Contaminant Peak Result</returns> private RemoveResult CreateRemoveResult( int scanNumbers, string tempDir, List <SpectrumWrapper> ms1List) { RemoveResult result = new RemoveResult(); for (int i = 0; i < scanNumbers; i++) { if (UpdateProgress != null) { UpdateProgress( PROGRESS_REMOVECONTAMINANT_PHASE.READ_FROM_TEMPORARY, i, scanNumbers); } using (StreamReader sr = new StreamReader(tempDir + @"\Scan" + i.ToString() + ".csv")) { ClrDataPoints pts = new ClrDataPoints(); while (!sr.EndOfStream) { string[] splitLine = sr.ReadLine().Split(','); double x = double.Parse(splitLine[0]); double y = double.Parse(splitLine[1]); pts.addPoint(x, y); } result.AddResult(pts, ms1List[i]); } } return(result); }
public JsonResult RemoveParametr(int paramID) { var result = new RemoveResult(); if (!Request.IsAjaxRequest()) { throw new InvalidCastException("Not an ajax request"); } try { var param = _shopService.GetParametr(paramID); if (param.ProductParameterValue.Any()) { result.Result = false; result.Message = "Параметр имеет связанные данные. Для удаления этого параметра обратитесь к администратору сайта"; return(Json(result)); } _shopService.RemoveParametr(param); result.Result = true; result.Message = "Удалено"; return(Json(result)); } catch { result.Result = false; result.Message = "Что-то пошло не так"; return(Json(result)); } }
public void passing_a_null_not_found_action_to_match_is_invalid() { var result = RemoveResult <object> .WasSuccess(new object()); var act = (Action)(() => result.Match(v => { }, null)); Assert.Throws <ArgumentNullException>(act); }
public static RemoveResult ToRemoveResult(this RemoveRequest.Result data) { var res = new RemoveResult { IsSuccess = data.status == 200 }; return res; }
public void passing_a_null_to_then_is_invalid() { var result = RemoveResult <object> .WasSuccess(new object()); var act = (Action)(() => result.Then <object>(null)); Assert.Throws <ArgumentNullException>(act); }
public void passing_a_null_action_to_then_with_an_action_that_accepts_no_arguments_is_invalid() { var action = (Action)null; var result = RemoveResult <object> .WasSuccess(new object()); var act = (Action)(() => result.Then(action)); Assert.Throws <ArgumentNullException>(act); }
public void passing_a_null_success_function_to_match_is_invalid() { var unit = new object(); var result = RemoveResult <object> .WasSuccess(new object()); var act = (Action)(() => result.Match(null, () => unit)); Assert.Throws <ArgumentNullException>(act); }
public static RemoveResult ToRemoveResult(this CommonOperationResult <string> data) { var res = new RemoveResult { IsSuccess = data.Status == 200 }; return(res); }
public static RemoveResult ToRemoveResult(this YadResponceModel <YadDeleteRequestData, YadDeleteRequestParams> data) { var res = new RemoveResult { IsSuccess = true }; return(res); }
public static ItemOperation ToItemOperation(this RemoveResult data) { var res = new ItemOperation { DateTime = data.DateTime, Path = data.Path }; return(res); }
public void then_with_an_action_that_accepts_no_arguments_will_ignore_the_action_if_it_is_not_a_success() { var action_applied = false; var result = RemoveResult <object> .WasNotFound(); result.Then(() => action_applied = true); Assert.False(action_applied); }
public void then_with_an_action_that_accepts_no_arguments_will_apply_the_action_if_it_is_a_success() { var action_applied = false; var result = RemoveResult <object> .WasSuccess(new object()); result.Then(() => action_applied = true); Assert.True(action_applied); }
public void can_create_a_not_found_result() { var result = RemoveResult <object> .WasNotFound(); result .Match( success: value => Assert.False(true), notFound: () => Assert.True(true) ); }
public static RemoveResult ToRemoveResult(this YadResponseModel <YadDeleteRequestData, YadDeleteRequestParams> data) { var res = new RemoveResult { IsSuccess = true, DateTime = DateTime.Now, Path = data.Params.Id.Remove(0, "/disk".Length) }; return(res); }
public void can_create_a_success_result() { var expected = new object(); var result = RemoveResult <object> .WasSuccess(expected); result .Match( success: value => Assert.Equal(expected, value), notFound: () => Assert.False(true) ); }
public void then_will_apply_the_transformation_if_it_is_a_success() { var expected = new object(); var result = RemoveResult <object> .WasSuccess(new object()); result .Then(v => expected) .Match( success: value => Assert.Equal(expected, value), notFound: () => Assert.False(true) ); }
public void then_with_an_action_that_accepts_no_arguments_returns_the_original_value() { var expected = new object(); var result = RemoveResult <object> .WasSuccess(expected); result .Then(() => { }) .Match( success: value => Assert.Equal(expected, value), notFound: () => Assert.False(true) ); }
/// <summary>指定位置の要素を取得する。</summary> /// <param name="index">削除するインデックス。</param> /// <param name="parent">木構造。</param> /// <param name="remove">削除状態。</param> /// <returns>バランス調整が必要ならば真。</returns> public bool RemoveAt(int index, BPlusTree <T> parent, ref RemoveResult remove) { for (int i = 0; i < this.Count; ++i) { if (this.value[i].RemoveAt(index, parent, ref remove)) { if (this.value[i].Count <= parent.mSize) { this.BalanceChangeOfBParts(parent, i); } return(true); } } return(false); }
/// <summary>指定位置の要素を取得する。</summary> /// <param name="index">削除するインデックス。</param> public void RemoveAt(int index) { var remove = new RemoveResult(); if (this.root == null) { this.start.RemoveAt(index, this, ref remove); } else { if (this.root.RemoveAt(index, this, ref remove)) { this.RelinkRoot(); } } }
//-------------------------------------------------------------------- // 削除 //-------------------------------------------------------------------- /// <summary>指定要素を削除する。</summary> /// <param name="item">削除する要素。</param> /// <returns></returns> public bool Remove(T item) { var remove = new RemoveResult(); if (this.root == null) { this.start.Remove(item, this, ref remove); } else { if (this.root.Remove(item, this, ref remove)) { this.RelinkRoot(); } } return(remove.changed); }
//--------------------------------------------------------------------- // 削除 //--------------------------------------------------------------------- /// <summary>指定要素を取得する。</summary> /// <param name="item">削除する要素。</param> /// <param name="parent">木構造。</param> /// <param name="remove">削除状態。</param> /// <returns>バランス調整が必要ならば真。</returns> public bool Remove(T item, BPlusTree <T> parent, ref RemoveResult remove) { int lf = 0; int rt = this.Count - 1; int md; // 削除要素の検索 while (lf < rt) { md = lf + (rt - lf) / 2 + 1; if (parent.defComp.Compare(this.value[md].HeaderItem, item) >= 0) { rt = md - 1; } else { lf = md; } } // 要素を削除する if (this.value[lf].Remove(item, parent, ref remove)) { if (this.value[lf].Count <= parent.mSize) { this.BalanceChangeOfBParts(parent, lf); } return(true); } else if (lf + 1 < this.Count && parent.defComp.Compare(this.value[lf + 1].HeaderItem, item) == 0 && this.value[lf + 1].Remove(item, parent, ref remove)) { if (this.value[lf + 1].Count <= parent.mSize) { this.BalanceChangeOfBParts(parent, lf + 1); } return(true); } else { return(false); } }
//--------------------------------------------------------------------- // 削除 //--------------------------------------------------------------------- /// <summary>指定要素を取得する。</summary> /// <param name="item">削除する要素。</param> /// <param name="parent">木構造。</param> /// <param name="remove">削除状態。</param> /// <returns>バランス調整が必要ならば真。</returns> public bool Remove(T item, BPlusTree <T> parent, ref RemoveResult remove) { int lf = 0; int rt = this.Count; int md; // 位置の検索 while (lf < rt) { md = lf + (rt - lf) / 2; if (parent.defComp.Compare(this.value[md], item) < 0) { lf = md + 1; } else { rt = md; } } if (lf < this.Count && parent.defComp.Compare(this.value[lf], item) == 0) { if (lf < this.Count - 1) { Array.Copy(this.value, lf + 1, this.value, lf, this.Count - (lf + 1)); } #if DEBUG Array.Clear(this.value, this.Count - 1, 1); #endif // 項目数を減少 this.Count--; parent.Count--; remove.changed = true; return(true); } else { return(false); } }
public void passing_a_null_success_value_is_not_valid() { var act = (Action)(() => RemoveResult <object> .WasSuccess(null)); Assert.Throws <ArgumentNullException>(act); }
public void then_will_ignore_the_transformation_if_it_is_not_found() { var result = RemoveResult <object> .WasNotFound(); result.Then <object>(v => { throw new Exception(); }); }