public void CanBeNull() { var divider = new DescendantStringDivider(_ancestorDivider, ':', 0) { Value = null }; divider.IsNull.Should().BeTrue(); divider.Value = Any.String(); divider.IsNull.Should().BeFalse(); }
public void DeletesAtEnd() { var delimiter = Any.Symbol(); var data0 = Any.String(); var data1 = Any.String(); var data = string.Join(delimiter, data0, data1); var divider = new DescendantStringDivider(_ancestorDivider, delimiter[0], 0) { Value = data }; divider.Delete(1); divider.Value.Should().Be(data0); }
public void GetsSubdivision() { var delimiter = Any.Symbol(); var value0 = Any.String(); var value1 = Any.String(); var value = string.Join(delimiter, value0, value1); var divider = new DescendantStringDivider(_ancestorDivider, delimiter[0], 0) { Value = value }; var delimiterOffset = value.IndexOf(delimiter, StringComparison.Ordinal); var division0 = divider.GetSubDivision(0); division0.Valid.Should().BeTrue(); division0.Offset.Should().Be(0); division0.Length.Should().Be(value0.Length); var division1 = divider.GetSubDivision(1); division1.Valid.Should().BeTrue(); division1.Offset.Should().Be(delimiterOffset + 1); division1.Length.Should().Be(value1.Length); }
public void HasBaseValue() { var data = Any.DelimitedString(":", 4); var divider = new DescendantStringDivider(_ancestorDivider, ':', 0) { Value = data }; divider.BaseValue.Should().BeSameAs(_ancestorDivider.BaseValue); }
public void StoresValues() { var delimiter = Any.Symbol(); var dataBefore = new[] { Any.String(), Any.String() }; var dataAfter = new[] { Any.String(), Any.String() }; var divider = new DescendantStringDivider(_ancestorDivider, delimiter[0], 0) { Value = string.Join(delimiter, dataBefore) }; divider.Values.Should().Equal(dataBefore); divider.Values = dataAfter; divider.Values.Should().Equal(dataAfter); }
public void StoresDelimiter() { var delimiter = Any.Symbol()[0]; var divider = new DescendantStringDivider(_ancestorDivider, delimiter, 0) { Value = Any.String() }; divider.Delimiter.Should().Be(delimiter); }
public void StoresValue() { var delimiter = Any.Symbol()[0]; var dataBefore = Any.String(); var dataAfter = Any.String(); var divider = new DescendantStringDivider(_ancestorDivider, delimiter, 0) { Value = dataBefore }; divider.Value.Should().Be(dataBefore); divider.Value = dataAfter; divider.Value.Should().Be(dataAfter); }
public void PadsDivider() { var delimiter = Any.Symbol(); var data = Any.String(); var divider = new DescendantStringDivider(_ancestorDivider, delimiter[0], 0) { Value = data }; var divisions = new List<StringDivision> { new StringDivision(0, data.Length) }; divider.Pad(delimiter[0], 2, 0, data.Length, divisions); divider.Value.Should().Be(string.Join(delimiter, data, string.Empty, string.Empty)); }
public void Replaces() { var delimiter = Any.Symbol()[0]; var data = Any.String(); var insertedData = Any.String(); var expectedData = string.Concat(data.Substring(0, 3), insertedData, data.Substring(6)); var divider = new DescendantStringDivider(_ancestorDivider, delimiter, 0) { Value = data }; divider.Replace(3, 3, insertedData.ToCharArray()); divider.Value.Should().Be(expectedData); }
public void MovesToEnd() { var delimiter = Any.Symbol(); var data0 = Any.String(); var data1 = Any.String(); var data2 = Any.String(); var data = string.Join(delimiter, data0, data1, data2); var divider = new DescendantStringDivider(_ancestorDivider, delimiter[0], 0) { Value = data }; divider.Move(1, 2); divider.Value.Should().Be(string.Join(delimiter, data0, data2, data1)); }
public void PadsAncestorSubDivider() { var delimiter = Any.Symbol(); var data = Any.String(); var divider = new DescendantStringDivider(_ancestorDivider, delimiter[0], 9) { Value = data }; divider.PadSubDivider(2); _ancestorDivider.Count.Should().Be(10); }
public void IsIndexablePastEnd() { var data = Any.DelimitedString(":", 4); var divider = new DescendantStringDivider(_ancestorDivider, ':', 0) { Value = data }; divider[5].Should().BeEmpty(); }
public void IsIndexable() { var data = Any.DelimitedString(":", 4); var divider = new DescendantStringDivider(_ancestorDivider, ':', 0) { Value = data }; for (var i = 0; i < 4; i++) { divider[i].Should().Be(data.Split(':')[i]); } }
public void InsertsAtMiddle() { var delimiter = Any.Symbol(); var data0 = Any.String(); var data1 = Any.String(); var data2 = Any.String(); var data = string.Join(delimiter, data0, data1); var divider = new DescendantStringDivider(_ancestorDivider, delimiter[0], 0) { Value = data }; divider.Insert(1, data2); divider.Value.Should().Be(string.Join(delimiter, data0, data2, data1)); }
public void HasCorrectNumberOfDivisions() { var data = Any.DelimitedString(":", 4); var divider = new DescendantStringDivider(_ancestorDivider, ':', 0) {Value = data}; divider.Count.Should().Be(4); }
public void HasCorrectDivisions() { var data = Any.DelimitedString(":", 4); var divider = new DescendantStringDivider(_ancestorDivider, ':', 0) { Value = data }; divider.Values.Should().Equal(data.Split(':')); }