コード例 #1
0
        public void VersionedStringBuilder_IsInitializedToSpecifiedString()
        {
            var builder = new VersionedStringBuilder("Hello, world!");

            TheResultingValue(builder.Version).ShouldBe(0);
            TheResultingString(builder.ToString()).ShouldBe("Hello, world!");
        }
コード例 #2
0
        public void VersionedStringSource_ProducesCorrectString_WhenToStringIsCalled_AndSourceIsStringBuilder()
        {
            var data   = new VersionedStringBuilder("Hello, world!");
            var source = new VersionedStringSource(data);

            TheResultingString(source.ToString()).ShouldBe("Hello, world!");
        }
コード例 #3
0
        public void VersionedStringSource_ExplicitlyConvertsToStringBuilder_WhenSourceIsStringBuilder()
        {
            var data   = new VersionedStringBuilder("Hello, world!");
            var source = new VersionedStringSource(data);

            TheResultingObject((VersionedStringBuilder)source)
            .ShouldSatisfyTheCondition(x => x.ToString() == "Hello, world!");
        }
コード例 #4
0
        public void VersionedStringSource_CannotConvertToString_WhenSourceIsNotString()
        {
            var data   = new VersionedStringBuilder("Hello, world!");
            var source = new VersionedStringSource(data);

            Assert.That(() => TheResultingString((String)source).ShouldBe("Hello, world!"),
                        Throws.TypeOf <InvalidCastException>());
        }
コード例 #5
0
        public void VersionedStringBuilder_VersionIsNotIncremented_WhenAppendVersionedStringBuilderIsCalled_AndValueIsNull()
        {
            var builder = new VersionedStringBuilder("Hello, world!");

            builder.Append((VersionedStringBuilder)null);

            TheResultingValue(builder.Version).ShouldBe(0);
            TheResultingString(builder.ToString()).ShouldBe("Hello, world!");
        }
コード例 #6
0
        public void VersionedStringBuilder_VersionIsIncremented_WhenClearIsCalled()
        {
            var builder = new VersionedStringBuilder("Hello, world!");

            builder.Clear();

            TheResultingValue(builder.Version).ShouldBe(1);
            TheResultingString(builder.ToString()).ShouldBe(String.Empty);
        }
コード例 #7
0
        public void VersionedStringSource_IsValid_WhenStringBuilderSourceIsSpecified()
        {
            var data   = new VersionedStringBuilder("Hello, world!");
            var source = new VersionedStringSource(data);

            TheResultingValue(source.IsValid).ShouldBe(true);
            TheResultingValue(source.IsSourcedFromString).ShouldBe(false);
            TheResultingValue(source.IsSourcedFromStringBuilder).ShouldBe(true);
        }
コード例 #8
0
        public void VersionedStringBuilder_VersionIsIncremented_WhenAppendVersionedStringBuilderIsCalled()
        {
            var builder = new VersionedStringBuilder("Hello, world!");

            var value = new VersionedStringBuilder(" Goodbye, world!");

            builder.Append(value);

            TheResultingValue(builder.Version).ShouldBe(1);
            TheResultingString(builder.ToString()).ShouldBe("Hello, world! Goodbye, world!");
        }
コード例 #9
0
        public void VersionedStringBuilder_VersionIsIncremented_WhenInsertCharIsCalled()
        {
            var builder = new VersionedStringBuilder("Hello, world!");

            var value = '!';

            builder.Insert(12, value);

            TheResultingValue(builder.Version).ShouldBe(1);
            TheResultingString(builder.ToString()).ShouldBe("Hello, world!!");
        }
コード例 #10
0
        public void VersionedStringBuilder_VersionIsNotIncremented_WhenInsertVersionedStringSourceIsCalled_WithInvalidSource()
        {
            var builder = new VersionedStringBuilder("Hello, world!");

            var value = new VersionedStringSource();

            builder.Insert(5, value);

            TheResultingValue(builder.Version).ShouldBe(0);
            TheResultingString(builder.ToString()).ShouldBe("Hello, world!");
        }
コード例 #11
0
        public void VersionedStringBuilder_VersionIsIncremented_WhenInsertVersionedStringBuilderIsCalled()
        {
            var builder = new VersionedStringBuilder("Hello, world!");

            var value = new VersionedStringBuilder(" and goodbye");

            builder.Insert(5, value);

            TheResultingValue(builder.Version).ShouldBe(1);
            TheResultingString(builder.ToString()).ShouldBe("Hello and goodbye, world!");
        }