public void HeadDefaultTest()
        {
            HaverHead h = new HaverHead(AdderAnimalHead.Instance);

            Assert.Empty(h.ToString());
            h.AddHead();
            Assert.Equal("I am head and I exists.", h.ToString());
        }
        public void HumanDefaultTest()
        {
            HaverHead h = new HaverHead(AdderHumanHead.Instance);

            Assert.Empty(h.ToString());
            h.AddHead();
            Assert.Equal("I have head on my shoulders.\n", h.ToString());
        }
        public void HTMLDefaultTest()
        {
            HaverHead h = new HaverHead(AdderHTMLHead.Instance);

            Assert.Empty(h.ToString());
            h.AddHead();
            Assert.Equal("\t<head>\n\t</head>\n", h.ToString());
        }
        public void HTMLTest()
        {
            HaverHead h = new HaverHead(AdderHTMLHead.Instance);

            Assert.Empty(h.ToString());
            h.Data = "<html>\n</html>\n";
            Assert.Equal("<html>\n</html>\n", h.ToString());
            h.AddHead();
            Assert.Equal("<html>\n\t<head>\n\t</head>\n</html>\n", h.ToString());
        }
        public void CombineDefaultTest()
        {
            HaverHead h = new HaverHead(AdderAnimalHead.Instance);

            Assert.Empty(h.ToString());
            h.AddHead();
            Assert.Equal("I am head and I exists.", h.ToString());
            h.Strategy = AdderHumanHead.Instance;
            h.AddHead();
            Assert.Equal("I am head and I exists.I have head on my shoulders.\n", h.ToString());
            h.Strategy = AdderHTMLHead.Instance;
            h.AddHead();
            Assert.Equal("I am head and I exists.I have head on my shoulders.\n\t<head>\n\t</head>\n", h.ToString());
        }