public void RejectsDuplicateKeyForBlock() { IMedia <byte[]> media = new RebuildMedia(); media.Block("key"); Assert.Throws <InvalidOperationException>(() => media.Block("key") ); }
public void RejectsSecondBlockInRoot() { var media = new RebuildMedia(); media.Block("root"); Assert.Throws <InvalidOperationException>(() => media.Block("root2") ); }
public void RejectsEmptyBlockAsRoot() { IMedia <byte[]> media = new RebuildMedia(); Assert.Contains("You are trying to make a block without a name", Assert.Throws <InvalidOperationException>(() => media.Block("") ).Message ); }
public void RejectsArrayInProp() { var media = new RebuildMedia(); Assert.Throws <InvalidOperationException>(() => media .Block("root") .Prop("erty") .Array("items", "item") ); }
public void BuildsBlockInBlock() { var media = new RebuildMedia(); media.Block("root") .Block("contents"); Assert.Equal( "<root bx-type=\"block\"><contents bx-type=\"block\" /></root>", new TextOf(media.Content()).AsString() ); }
public void CreatesArrayInBlock() { var media = new RebuildMedia(); media .Block("root") .Array("keys", "key"); Assert.Equal( "<root bx-type=\"block\"><keys bx-type=\"array\" bx-array-item-name=\"key\" /></root>", new TextOf(media.Content()).AsString() ); }
public void CreatesPropertyInBlock() { var media = new RebuildMedia(); media.Block("root") .Prop("key"); Assert.Equal( "1", new XMLCursor( new InputOf(media.Content()) ).Values("count(/root/key)")[0] ); }
public void RejectsDuplicateKeyForProp() { IMedia <byte[]> media = new RebuildMedia(); var block = media.Block("root"); block .Prop("key") .Put("lock"); Assert.Throws <InvalidOperationException>(() => block.Prop("key") ); }
public void CreatesBlockInRoot() { var media = new RebuildMedia(); media.Block("root") .Prop("key") .Put("value"); Assert.Contains( "value", new XMLCursor( new InputOf(media.Content()) ).Values("/root/key/text()") ); }
public void PutsValueToProp() { var media = new RebuildMedia(); media.Block("root") .Prop("key") .Put("lock"); Assert.Equal( "lock", new XMLCursor( new InputOf(media.Content()) ).Values("/root/key/text()")[0] ); }
public void CreatesBlockInProp() { var media = new RebuildMedia(); media.Block("root") .Prop("my-block") .Block("contents"); Assert.Contains( "1", new XMLCursor( new InputOf(media.Content()) ).Values("count(/root/my-block/contents)") ); }