// Path: Source/MarkdownGenerator/src/test/java/net/steppschuh/markdowngenerator/DummyObject.java
// public class DummyObject implements MarkdownSerializable {
// 
//     private Object foo;
//     private String bar;
//     private int baz;
// 
//     public DummyObject() {
//         this.foo = true;
//         this.bar = "qux";
//         this.baz = 1337;
//     }
// 
//     public DummyObject(Object foo, String bar, int baz) {
//         this.foo = foo;
//         this.bar = bar;
//         this.baz = baz;
//     }
// 
//     public TableRow toMarkdownTableRow() {
//         return new TableRow<>(Arrays.asList(
//                 foo, bar, baz
//         ));
//     }
// 
//     @Override
//     public MarkdownElement toMarkdownElement() throws MarkdownSerializationException {
//         return toMarkdownTableRow();
//     }
// 
//     @Override
//     public String toString() {
//         try {
//             return toMarkdownElement().toString();
//         } catch (MarkdownSerializationException e) {
//             return this.getClass().getSimpleName();
//         }
//     }
// 
//     public Object getFoo() {
//         return foo;
//     }
// 
//     public String getBar() {
//         return bar;
//     }
// 
//     public int getBaz() {
//         return baz;
//     }
// }
// 
// Path: Source/MarkdownGenerator/src/main/java/net/steppschuh/markdowngenerator/text/Text.java
// public class Text extends MarkdownElement implements MarkdownCascadable {
// 
//     protected Object value;
// 
//     public Text(Object value) {
//         this.value = value;
//     }
// 
//     @Override
//     public String serialize() throws MarkdownSerializationException {
//         if (value == null) {
//             throw new MarkdownSerializationException("Value is null");
//         }
//         return getPredecessor() + value.toString() + getSuccessor();
//     }
// 
//     @Override
//     public String getPredecessor() {
//         return "";
//     }
// 
//     @Override
//     public String getSuccessor() {
//         return getPredecessor();
//     }
// 
//     public Object getValue() {
//         return value;
//     }
// 
//     public void setValue(Object value) {
//         this.value = value;
//         invalidateSerialized();
//     }
// 
// }
// 
// Path: Source/MarkdownGenerator/src/main/java/net/steppschuh/markdowngenerator/text/emphasis/ItalicText.java
// public class ItalicText extends Text {
// 
//     public ItalicText(Object value) {
//         super(value);
//     }
// 
//     @Override
//     public String getPredecessor() {
//         return "_";
//     }
// 
// }


import net.steppschuh.markdowngenerator.DummyObject;
import net.steppschuh.markdowngenerator.text.Text;
import net.steppschuh.markdowngenerator.text.emphasis.ItalicText;
import org.junit.Test;
package net.steppschuh.markdowngenerator.text.emphasis;



/**
 * Created by steppschuh on 15/12/2016.
 */
public class ItalicTextTest {

    @Test
    public void example1() throws Exception {
        Text text = new ItalicText("I am italic text");
        System.out.println(text);
    }

    @Test
    public void example2() throws Exception {
// Path: Source/MarkdownGenerator/src/test/java/net/steppschuh/markdowngenerator/DummyObject.java
// public class DummyObject implements MarkdownSerializable {
// 
//     private Object foo;
//     private String bar;
//     private int baz;
// 
//     public DummyObject() {
//         this.foo = true;
//         this.bar = "qux";
//         this.baz = 1337;
//     }
// 
//     public DummyObject(Object foo, String bar, int baz) {
//         this.foo = foo;
//         this.bar = bar;
//         this.baz = baz;
//     }
// 
//     public TableRow toMarkdownTableRow() {
//         return new TableRow<>(Arrays.asList(
//                 foo, bar, baz
//         ));
//     }
// 
//     @Override
//     public MarkdownElement toMarkdownElement() throws MarkdownSerializationException {
//         return toMarkdownTableRow();
//     }
// 
//     @Override
//     public String toString() {
//         try {
//             return toMarkdownElement().toString();
//         } catch (MarkdownSerializationException e) {
//             return this.getClass().getSimpleName();
//         }
//     }
// 
//     public Object getFoo() {
//         return foo;
//     }
// 
//     public String getBar() {
//         return bar;
//     }
// 
//     public int getBaz() {
//         return baz;
//     }
// }
// 
// Path: Source/MarkdownGenerator/src/main/java/net/steppschuh/markdowngenerator/text/Text.java
// public class Text extends MarkdownElement implements MarkdownCascadable {
// 
//     protected Object value;
// 
//     public Text(Object value) {
//         this.value = value;
//     }
// 
//     @Override
//     public String serialize() throws MarkdownSerializationException {
//         if (value == null) {
//             throw new MarkdownSerializationException("Value is null");
//         }
//         return getPredecessor() + value.toString() + getSuccessor();
//     }
// 
//     @Override
//     public String getPredecessor() {
//         return "";
//     }
// 
//     @Override
//     public String getSuccessor() {
//         return getPredecessor();
//     }
// 
//     public Object getValue() {
//         return value;
//     }
// 
//     public void setValue(Object value) {
//         this.value = value;
//         invalidateSerialized();
//     }
// 
// }
// 
// Path: Source/MarkdownGenerator/src/main/java/net/steppschuh/markdowngenerator/text/emphasis/ItalicText.java
// public class ItalicText extends Text {
// 
//     public ItalicText(Object value) {
//         super(value);
//     }
// 
//     @Override
//     public String getPredecessor() {
//         return "_";
//     }
// 
// }


// Path: Source/MarkdownGenerator/src/test/java/net/steppschuh/markdowngenerator/text/emphasis/ItalicTextTest.java
import net.steppschuh.markdowngenerator.DummyObject;
import net.steppschuh.markdowngenerator.text.Text;
import net.steppschuh.markdowngenerator.text.emphasis.ItalicText;
import org.junit.Test;

package net.steppschuh.markdowngenerator.text.emphasis;



/**
 * Created by steppschuh on 15/12/2016.
 */
public class ItalicTextTest {

    @Test
    public void example1() throws Exception {
        Text text = new ItalicText("I am italic text");
        System.out.println(text);
    }

    @Test
    public void example2() throws Exception {
        Text text = new ItalicText(new DummyObject());