public class TextoSimplesTeste {
	public static void main(String[] args) {
		simples(args);
		invertido(args);
		upper(args);
		upperInvertido(args);
		tags(args);
		tagsTAGS(args);
		tagsSGAT(args);
		nhacNhacNHAC(args);
	}
	public static void simples(String[] args) {
		ComponenteTexto simples = new TextoSimples(args[0]);
		System.out.println("Texto original: " + simples);
	}
	public static void invertido(String[] args) {
		ComponenteTexto simples = new TextoSimples(args[0]);
		ComponenteTexto invertido = new Inversor(simples);
		System.out.println("Texto invertido: " + invertido);
	}
	public static void upper(String[] args) {
		ComponenteTexto simples = new TextoSimples(args[0]);
		ComponenteTexto caixalta = new ToUpper(simples);
		System.out.println("Texto caixa-alta: " + caixalta);
	}
	public static void upperInvertido(String[] args) {
		ComponenteTexto simples = new TextoSimples(args[0]);
		ComponenteTexto invertido = new Inversor(simples);
		ComponenteTexto caixalta = new ToUpper(invertido);
		System.out.println("Texto caixa-alta: " + caixalta);
	}
	public static void tags(String[] args) {
		ComponenteTexto simples = new TextoSimples(args[0]);
		ComponenteTexto tags = new AddTags(simples);
		System.out.println("Texto com tags: " + tags);
	}
	public static void tagsTAGS(String[] args) {
		ComponenteTexto simples = new TextoSimples(args[0]);
		ComponenteTexto tags = new AddTags(simples);
		tags = new AddTags(new ToUpper(tags));
		System.out.println("Texto com tags: " + tags);
	}
	public static void tagsSGAT(String[] args) {
		ComponenteTexto simples = new TextoSimples(args[0]);
		ComponenteTexto tags = new AddTags(simples);
		tags = new Inversor(tags);
		tags = new AddTags(new ToUpper(tags));
		System.out.println("Texto com tags: " + tags);
	}
	public static void nhacNhacNHAC(String[] args) {
		ComponenteTexto simples = new TextoSimples(args[0]);
		// NhacNhac: abxy -> bcyz --> cdza --> deab
		ComponenteTexto cyphered = 
			new NhacNhac(
				new NhacNhac(
					new Inversor(
						new NhacNhac(
							new NhacNhac(
								new Inversor(simples))))));
		System.out.println("Texto codificado: " + cyphered);
								
	}
}
