1 package alitest;
2 import fi.jyu.mit.ohj2.*;
4 import java.io.*;
5 import java.util.*;
6 import static fi.jyu.mit.ohj2.VertaaTiedosto.*;
7 import static org.junit.Assert.*;
8 import org.junit.*;
9 import static fi.jyu.mit.ohj2.Suuntaaja.*;
10
12
17 @SuppressWarnings({ "PMD" })
18 public class SuuntaajaTest {
19
20
21
22
27 @Test
28 public void testInNimi82() throws IOException { kirjoitaTiedosto("hiljaa1.txt", "33 hiljaa 1 hiipii\nhyvä 33 tulee\n");
30 Input in = new Input("hiljaa1.txt");
31 Scanner sc = new Scanner(System.in);
32 assertEquals("From: Suuntaaja line: 90", "33 hiljaa 1 hiipii", sc.nextLine());
33 assertEquals("From: Suuntaaja line: 91", "hyvä 33 tulee", sc.nextLine());
34 assertEquals("From: Suuntaaja line: 92", false, sc.hasNextLine());
35 in.palauta();
36 tuhoaTiedosto("hiljaa1.txt");
37 in = new Input(null);
38 in.palauta();
39 }
41
42
47 @Test
48 public void testOutNimi137() throws IOException { Output out = new Output("hiljaa1.txt");
50 System.out.println("eka");
51 System.out.println("toka");
52 out.palauta();
53 assertEquals("From: Suuntaaja line: 146", null, vertaaFileString("hiljaa1.txt","eka\ntoka\n"));
54 tuhoaTiedosto("hiljaa1.txt");
55 out = new Output(null);
56 out.palauta();
57 }
59
60
62 @Test
63 public void testStringInput178() { StringInput si = new StringInput("kissa\nkoira");
65 StringOutput so = new StringOutput();
66 assertEquals("From: Suuntaaja line: 181", "kissa", Syotto.kysy("Mikä"));
67 assertEquals("From: Suuntaaja line: 182", "koira", Syotto.kysy("Mikä"));
68 assertEquals("From: Suuntaaja line: 183", "", Syotto.kysy("Mikä"));
69 si = new StringInput("12\n13");
70 assertEquals("From: Suuntaaja line: 185", 12, Syotto.kysy("Luku",0));
71 assertEquals("From: Suuntaaja line: 186", 13, Syotto.kysy("Luku",0));
72 assertEquals("From: Suuntaaja line: 187", 0, Syotto.kysy("Luku",0));
73 si.palauta();
74 so.palauta();
75 }
77
78
80 @Test
81 public void testInput218() { StringInput si = new StringInput("kissa\nkoira");
83 StringOutput so = new StringOutput();
84 assertEquals("From: Suuntaaja line: 221", "kissa", Syotto.kysy("Mikä"));
85 assertEquals("From: Suuntaaja line: 222", "koira", Syotto.kysy("Mikä"));
86 assertEquals("From: Suuntaaja line: 223", "", Syotto.kysy("Mikä"));
87 si.input("12\n13");
88 assertEquals("From: Suuntaaja line: 225", 12, Syotto.kysy("Luku",0));
89 assertEquals("From: Suuntaaja line: 226", 13, Syotto.kysy("Luku",0));
90 assertEquals("From: Suuntaaja line: 227", 0, Syotto.kysy("Luku",0));
91 si.palauta();
92 so.palauta();
93 }
95
96
98 @Test
99 public void testToString270() { String NL = getNL();
101 StringOutput so = new StringOutput();
102 System.out.println("eka");
103 System.out.println("toka");
104 assertEquals("From: Suuntaaja line: 275", "eka"+NL+"toka"+NL, so.toString());
105 System.out.println("kolmas");
106 assertEquals("From: Suuntaaja line: 277", "eka"+NL+"toka"+NL+"kolmas"+NL, so.toStringReset());
107 assertEquals("From: Suuntaaja line: 278", "", so.toString());
108 System.out.println("neljäs");
109 assertEquals("From: Suuntaaja line: 280", "neljäs"+NL, so.toStringReset());
110 System.out.print("viides\nkuudes");
111 assertEquals("From: Suuntaaja line: 282", "viides\nkuudes", so.toStringReset());
112 System.out.printf("viides%nkuudes");
113 assertEquals("From: Suuntaaja line: 284", "viides"+NL+"kuudes", so.toStringReset());
114 so.palauta();
115 }
117
118
123 @Test
124 public void testWriteTo316() throws IOException { PrintStream fs = Tiedosto.avaa_kirjoittamista_varten_stream("hiljaa1.txt");
126 StringOutput so = new StringOutput();
127 System.out.println("eka");
128 System.out.println("toka");
129 so.writeTo(fs);
130 fs.close();
131 so.palauta();
132 assertEquals("From: Suuntaaja line: 325", null, vertaaFileString("hiljaa1.txt","eka\ntoka\n"));
133 tuhoaTiedosto("hiljaa1.txt");
134 }
136
137
139 @Test
140 public void testEro347() { StringOutput so = new StringOutput();
142 System.out.println("eka");
143 System.out.println("toka");
144 assertEquals("From: Suuntaaja line: 351", null, so.ero("eka\ntoka\n"));
145 System.out.println("kolmas");
146 assertEquals("From: Suuntaaja line: 353", "Ero riveissä 1: kolmas ja eka", so.ero("eka\ntoka\nkolmas\n"));
147 assertEquals("From: Suuntaaja line: 354", "", so.toString());
148 System.out.println("neljäs");
149 assertEquals("From: Suuntaaja line: 356", null, so.ero("neljäs\n"));
150 System.out.print("viides\nkuudes");
151 assertEquals("From: Suuntaaja line: 358", null, so.ero("viides\nkuudes"));
152 System.out.printf("viides%nkuudes");
153 assertEquals("From: Suuntaaja line: 360", null, so.ero("viides\nkuudes"));
154 so.palauta();
155 assertEquals("From: Suuntaaja line: 362", true, so.getOrigOut() == System.out);
156 }
158
159
164 @Test
165 public void testInNimi389() throws IOException { kirjoitaTiedosto("hiljaa1.txt", "eka\ntoka\n");
167 InOut io = new InOut("hiljaa1.txt","hiljaa2.txt");
168 assertEquals("From: Suuntaaja line: 393", "eka", Syotto.kysy("1."));
169 assertEquals("From: Suuntaaja line: 394", "toka", Syotto.kysy("2."));
170 assertEquals("From: Suuntaaja line: 395", "", Syotto.kysy("3."));
171 io.palauta();
172 tuhoaTiedosto("hiljaa1.txt");
173 assertEquals("From: Suuntaaja line: 398", null, vertaaFileString("hiljaa2.txt","1. >2. >3. >"));
174 tuhoaTiedosto("hiljaa2.txt");
175 } }