示例#1
0
        public void TilesShouldReturnAllTilesInMap()
        {
            var map = new TilesMap();

            Assert.That(map.Tiles.Count, Is.EqualTo(0));
            map.AddTile(new MockTile("a"));
            Assert.That(map.Tiles.Count, Is.EqualTo(1));
            map.AddTile(new MockTile("b"));
            Assert.That(map.Tiles.Count, Is.EqualTo(2));
        }
示例#2
0
        public void SameTileShouldBeReturned()
        {
            var ts = new TilesMap();
            ITile a = new MockTile("a");
            ITile b = new MockTile("b");

            ts.AddTile(a);
            ts.AddTile(b);

            Assert.That(ts.Get("a"), Is.SameAs(a));
            Assert.That(ts.Get("b"), Is.SameAs(b));
        }
示例#3
0
        public void TestCache()
        {
            var ts = new TilesMap();
            ITile a = new MockTile("a");
            ITile b = new MockTile("b");

            ts.AddTile(a);
            ts.AddTile(b);

            Assert.That(ts.Get("a"), Is.SameAs(a));
            Assert.That(ts.Get("b"), Is.SameAs(b));
        }
示例#4
0
        public void TestCache()
        {
            var   ts = new TilesMap();
            ITile a  = new MockTile("a");
            ITile b  = new MockTile("b");

            ts.AddTile(a);
            ts.AddTile(b);

            Assert.That(ts.Get("a"), Is.SameAs(a));
            Assert.That(ts.Get("b"), Is.SameAs(b));
        }
示例#5
0
        public void SameTileShouldBeReturned()
        {
            var   ts = new TilesMap();
            ITile a  = new MockTile("a");
            ITile b  = new MockTile("b");

            ts.AddTile(a);
            ts.AddTile(b);

            Assert.That(ts.Get("a"), Is.SameAs(a));
            Assert.That(ts.Get("b"), Is.SameAs(b));
        }
示例#6
0
 public void SetUp()
 {
     _lib = new TagLib();
     _lib.Register(new Tags.Tiles());
     _lib.Register(new Sharp());
     _factory = new FileLocatorFactory().CloneForTagLib(_lib) as FileLocatorFactory;
     new TilesSet();
     _map              = new TilesMap();
     _data             = new Hashtable();
     _model            = new TagModel(_data);
     _nestedAttributes = new AttributeSet(
         "nested",
         new TileAttribute("aAttribute", new StringTile("aAttributeValue"))
         );
     _map.AddTile(new TemplateTile("fileWithAttributes", _factory.Handle("filewithtileattributes.htm", true), _nestedAttributes));
     _attributes = new AttributeSet(
         "main",
         new TileAttribute("simple", new StringTile("simpleValue")),
         new TileAttribute("file", new TemplateTile(null, _factory.Handle("a.htm", true), null)),
         new TileAttribute("fileWithVars", new TemplateTile(null, _factory.Handle("b.htm", true), null)),
         new TileAttribute("fileWithTilesAttributes", new TileReference("fileWithAttributes", _map))
         );
     _model.Decorate().With(_attributes);
     _data["simpleAsProperty"] = "simple";
     _data["some"]             = new Hashtable {
         { "a", "AA" }
     };
 }
示例#7
0
        public void AnExceptionShouldBeThrownWhenEnteringWithTheSameName()
        {
            var   ts = new TilesMap();
            ITile a  = new MockTile("a");
            ITile b  = new MockTile("a");

            ts.AddTile(a);
            try
            {
                ts.AddTile(b);
                Assert.Fail("Expected exception");
            } catch (TileException Te)
            {
                Assert.That(Te.Message, Is.EqualTo(TileException.DoubleDefinition("a").Message));
            }
        }
示例#8
0
        public void AnExceptionShouldBeThrownWhenEnteringWithTheSameName()
        {
            var ts = new TilesMap();
            ITile a = new MockTile("a");
            ITile b = new MockTile("a");

            ts.AddTile(a);
            try
            {
                ts.AddTile(b);
                Assert.Fail("Expected exception");
            } catch (TileException Te)
            {
                Assert.That(Te.Message, Is.EqualTo(TileException.DoubleDefinition("a").Message));
            }
        }
示例#9
0
 public void Decorate()
 {
     foreach (ITileEntry tileEntry in _config.Entries)
     {
         ITile tile = ConstructTile(tileEntry);
         _map.AddTile(tile);
     }
 }
示例#10
0
        public void FlattenShouldBeDoneLazilyToCopeWithNotYetDefinedDefinitions()
        {
            var map        = new TilesMap();
            var firstSet   = new AttributeSet("TILE", new TileAttribute("new", new StringTile("1")));
            var parentTile = new TileReference("reference", map);

            firstSet.MergeTileLazy(parentTile);
            map.AddTile(new TemplateTile("reference", new FileTemplate("a.htm"), new AttributeSet("PARENT", new TileAttribute("parent", new StringTile("2")))));
            Assert.That(firstSet["parent"].Value.Render(new TagModel(null)), Is.EqualTo("2"));
        }
示例#11
0
        public void TestContains()
        {
            var   ts = new TilesMap();
            ITile a  = new MockTile("a");

            Assert.That(ts.Contains("a"), Is.False);

            ts.AddTile(a);

            Assert.That(ts.Contains("a"), Is.True);
        }
示例#12
0
        public void WhenTheTileIsAvailableTheTileShouldBeUsed()
        {
            var source = new MockTile("name");
            var map    = new TilesMap();

            map.AddTile(source);
            var tile = new TileReference(source.Name, map);

            tile.GuardInit();
            Assert.That(tile.Tile, Is.SameAs(source));
        }
示例#13
0
        public void WhenTheTileIsAvailableTheTileShouldBeUsedAndNotTheFallBack()
        {
            var fallBack = new StringTile("val");
            var source   = new MockTile("name");
            var map      = new TilesMap();

            map.AddTile(source);
            var tile = new TileReference(source.Name, map, fallBack);

            tile.GuardInit();
            Assert.That(tile.Tile, Is.SameAs(source));
        }
示例#14
0
        public void TheRenderingShouldBeDelegatedToTheReferenceTileInCase()
        {
            var model    = new TagModel(new object());
            var fallBack = new StringTile("val");
            var source   = new MockTile("name");
            var map      = new TilesMap();

            map.AddTile(source);
            var tile = new TileReference(source.Name, map, fallBack);

            tile.GuardInit();
            Assert.That(fallBack.Render(model), Is.Not.EqualTo((source.Render(model))), "Precondition");
            Assert.That(tile.Render(model), Is.EqualTo((source.Render(model))));
        }
示例#15
0
 public override ITile GetView(string view)
 {
     view = PostFixName(view);
     lock (_pages)
     {
         if (!_pages.Contains(view))
         {
             var template = _factory.Handle(view, true);
             var tile     = new TemplateTile(view, template, null);
             _pages.AddTile(tile);
         }
     }
     return(_pages[view]);
 }
示例#16
0
 public void TilesShouldReturnAllTilesInMap()
 {
     var map = new TilesMap();
     Assert.That(map.Tiles.Count, Is.EqualTo(0));
     map.AddTile(new MockTile("a"));
     Assert.That(map.Tiles.Count, Is.EqualTo(1));
     map.AddTile(new MockTile("b"));
     Assert.That(map.Tiles.Count, Is.EqualTo(2));
 }
示例#17
0
 public void SetUp()
 {
     _lib = new TagLib();
     _lib.Register(new Tags.Tiles());
     _lib.Register(new Sharp());
     _factory = new FileLocatorFactory().CloneForTagLib(_lib) as FileLocatorFactory;
     _map = new TilesMap();
     _data = new Hashtable();
     _model = new TagModel(_data);
     _nestedAttributes = new AttributeSet(
         "nested",
         new TileAttribute("aAttribute", new StringTile("aAttributeValue"))
         );
     _map.AddTile(new TemplateTile("fileWithAttributes", _factory.Handle("filewithtileattributes.htm", true),
                                   _nestedAttributes));
     _attributes = new AttributeSet(
         "main",
         new TileAttribute("simple", new StringTile("simpleValue")),
         new TileAttribute("file", new TemplateTile(null, _factory.Handle("a.htm", true), null)),
         new TileAttribute("fileWithVars", new TemplateTile(null, _factory.Handle("b.htm",true), null)),
         new TileAttribute("fileWithTilesAttributes", new TileReference("fileWithAttributes", _map))
         );
     _model.Decorate().With(_attributes);
     _data["simpleAsProperty"] = "simple";
     _data["some"] = new Hashtable {{"a", "AA"}};
 }
示例#18
0
        public void TestContains()
        {
            var ts = new TilesMap();
            ITile a = new MockTile("a");

            Assert.That(ts.Contains("a"), Is.False);

            ts.AddTile(a);

            Assert.That(ts.Contains("a"), Is.True);
        }
示例#19
0
 public void FlattenShouldBeDoneLazilyToCopeWithNotYetDefinedDefinitions()
 {
     var map = new TilesMap();
     var firstSet = new AttributeSet("TILE", new TileAttribute("new", new StringTile("1")));
     var parentTile = new TileReference("reference", map);
     firstSet.MergeTileLazy(parentTile);
     map.AddTile(new TemplateTile("reference", new FileTemplate("a.htm"), new AttributeSet("PARENT", new TileAttribute("parent", new StringTile("2")))));
     Assert.That(firstSet["parent"].Value.Render(new TagModel(null)), Is.EqualTo("2"));
 }