public void AddValueTest() { var temp = new ChainsAlphabet(); var a = new ValueString('A'); temp.Add(a); var b = (BaseChain)temp[0]; Assert.AreEqual(1, b.GetLength()); Assert.AreEqual(a, b[0]); }
public void Initialize() { chainBase = new BaseChain(10); chainBase[0] = new ValueString('1'); chainBase[1] = new ValueString('2'); chainBase[2] = new ValueString('3'); chainBase[3] = new ValueString('4'); chainBase[4] = new ValueString('5'); chainBase[5] = new ValueString('6'); chainBase[6] = new ValueString('7'); chainBase[7] = new ValueString('8'); chainBase[8] = new ValueString('9'); chainBase[9] = new ValueString('A'); }
/// <summary> /// Removes all specified entry letters in any word /// </summary> /// <param name="str">specified substring</param> /// <returns>number of hints</returns> public int FilterOut(string str) { int len = Chain.ToString().Length; for (int index = Chain.GetLength(); --index >= 0;) { Chain[index] = new ValueString(Chain[index].ToString().Replace(str, replacement)); if (Chain[index].ToString().Length == 0) { Chain.Remove(index, 1); } } return Hints(len, str); }
/// <summary> /// The calculate. /// </summary> /// <param name="chain"> /// The chain. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> /// <exception cref="Exception"> /// Thrown if chain doesn't contain fmotives. /// </exception> private static bool Calculate(FmotivChain chain) { if (chain.FmotivList.Count < 1) { throw new Exception("Unable to count note remoteness with no elements in chain!"); } var noteList = new List<ValueNote>(); // список нот, класса Note, всей цепи фмотивов foreach (Fmotiv fmotiv in chain.FmotivList) { foreach (ValueNote note in fmotiv.TieGathered().PauseTreatment((int)ParamPauseTreatment.Ignore).NoteList) { noteList.Add((ValueNote)note.Clone()); } } var noteChain = new Chain(noteList.Count); for (int i = 0; i < noteList.Count; i++) { string temp = string.Empty; // строка для временного хранения набора высот foreach (Pitch pitch in noteList[i].Pitch) { temp += Convert.ToString(pitch.MidiNumber); } // TODO: переделать нормально чтоб цепочка складывалась из ValueNote, а не как попало noteChain[i] = new ValueString(temp + " " + Convert.ToString(noteList[i].Duration.Value * 10000000)); } valR = new AverageRemoteness().Calculate(noteChain, Link.End); valG = new Depth().Calculate(noteChain, Link.End); return true; }
public void UniqueElementsTest() { firstAlphabet.Add(new ValueInt(2)); firstAlphabet.Add(new ValueInt(3)); firstAlphabet.Add(new ValueInt(4)); firstAlphabet.Add(new ValueInt(5)); firstAlphabet.Add(new ValueString("2")); firstAlphabet.Add(new ValueString("3")); firstAlphabet.Add(new ValueString("5")); firstAlphabet.Add(new ValueString("1")); firstAlphabet[0] = new ValueString("3"); Assert.Throws<ArgumentException>(() => firstAlphabet.Add(new ValueInt(5))); Assert.That(firstAlphabet, Is.Unique); }
public void ToArrayTest() { var a = new ValueString('a'); var c = new ValueString('c'); var e = new ValueString('e'); firstAlphabet.Add(a); firstAlphabet.Add(new ValueString('b')); firstAlphabet.Add(c); firstAlphabet.Add(new ValueString('d')); firstAlphabet.Add(e); Assert.AreNotSame(e, firstAlphabet[4]); Assert.AreNotSame(c, firstAlphabet[2]); Assert.AreNotSame(a, firstAlphabet[0]); }
public void IndependentStringTest() { firstAlphabet.Add(new ValueString("2")); firstAlphabet.Add(new ValueString("3")); firstAlphabet.Add(new ValueString("5")); firstAlphabet.Add(new ValueString("1")); firstAlphabet[0] = new ValueString("3"); Assert.AreEqual(new ValueString("2"), firstAlphabet[0]); Assert.AreEqual(new ValueString("3"), firstAlphabet[1]); Assert.AreEqual(new ValueString("5"), firstAlphabet[2]); Assert.AreEqual(new ValueString("1"), firstAlphabet[3]); }
public void SetByThisTest() { chain[0] = new ValueString('1'); Assert.IsTrue(((ValueString)chain.Get(0)).Equals("1")); }
/// <summary> /// Method adds new element into generated sequence. /// And calls the same method of one of the children if sequence is incomplete. /// </summary> /// <param name="result"> /// Generated sequence. /// </param> /// <param name="generator"> /// Random number generator. /// </param> /// <param name="table"> /// Parameters table. /// </param> public void FillChain(BaseChain result, IGenerator generator, PhantomTable table) { if ((table.Length != (Level + 2)) && (Children.Count == 0)) { ValuePhantom temp = table[Level + 2].Content; for (int i = 0; i < temp.Cardinality; i++) { Children.Add(new TreeNode(this, temp[i], table)); } } if ((id is BaseChain) || (id is ValueString)) { string amino = id.ToString(); for (int k = 0; k < amino.Length; k++) { result[StartPosition + k] = new ValueString(amino[k]); } } else { result[StartPosition] = id; } Find(result, generator, table); }
/// <summary> /// The equals. /// </summary> /// <param name="other"> /// The other. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public bool Equals(ValueString other) { if (other == null) { return false; } return string.Equals(Value, other.Value); }
public void Initialize() { alphabet = new Alphabet(); a = new ValueString('a'); b = new ValueString('b'); c = new ValueString('c'); d = new ValueString('d'); f = new ValueString('f'); testChain = new Chain(12); testChain.Set((ValueString)"a", 0); testChain.Set((ValueString)"d", 1); testChain.Set((ValueString)"b", 2); testChain.Set((ValueString)"a", 3); testChain.Set((ValueString)"a", 4); testChain.Set((ValueString)"c", 5); testChain.Set((ValueString)"b", 6); testChain.Set((ValueString)"b", 7); testChain.Set((ValueString)"a", 8); testChain.Set((ValueString)"a", 9); testChain.Set((ValueString)"c", 10); testChain.Set((ValueString)"a", 11); }
public void Initialization() { message = new ValueString('1'); congenericChain = new CongenericChain(message, 10); wrongMessage = new ValueString('2'); }
public void EncodeTripletsTest(string triplet) { var input = new BaseChain(triplet.Length); for (int i = 0; i < triplet.Length; i++) { input[i] = new ValueString(triplet[i]); } BaseChain result = DnaTransformer.EncodeTriplets(input); for (int i = 0; i < result.GetLength(); i++) { Assert.AreEqual(new ValueString(triplet.Substring(i * 3, 3)), result[i]); } }
public void EncodeAminoTest(string triplet, string amino) { var input = new BaseChain(triplet.Length); for (int i = 0; i < triplet.Length; i++) { input[i] = new ValueString(triplet[i]); } BaseChain result = DnaTransformer.EncodeAmino(input); for (int i = 0; i < result.GetLength(); i++) { Assert.AreEqual(new ValueString(amino[i]), result[i]); } }
/// <summary> /// The concat. /// </summary> /// <param name="str"> /// The string. /// </param> /// <returns> /// The <see cref="ComplexChain"/>. /// </returns> public ComplexChain Concat(string str) { if (string.IsNullOrEmpty(str)) { return this; } ComplexChain temp = Clone(); ClearAndSetNewLength(GetLength() + 1); for (int i = 0; i < temp.GetLength(); i++) { this[i] = temp[i]; } this[GetLength() - 1] = new ValueString(str); return this; }