-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.cs
101 lines (96 loc) · 2.87 KB
/
test.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
using System;
namespace OrderNames
{
class Test
{
public static int Main(string[] args)
{
// Ask for a test number if none is given
if(args.Length == 0)
{
Console.WriteLine("Need to specify a test number");
Console.WriteLine("1 : readFile");
Console.WriteLine("2 : writeFile");
Console.WriteLine("3 : orderNames");
Console.WriteLine("4 : createOutputFilePath");
return 1;
}
else
{
Console.WriteLine("Running Tests");
// Expected values being tested against
NamePair[] expected =
{
new NamePair("THEODORE", "BAKER"),
new NamePair("ANDREW", "SMITH"),
new NamePair("MADISON", "KENT"),
new NamePair("FREDRICK", "SMITH")
};
NamePair[] expectedOrdered =
{
new NamePair("THEODORE", "BAKER"),
new NamePair("MADISON", "KENT"),
new NamePair("ANDREW", "SMITH"),
new NamePair("FREDRICK", "SMITH")
};
NamePair[] names;
switch(args[0])
{
case "1":
Console.WriteLine("readFile with valid file path");
names = OrderNames.readFile("names.txt", new char[] { ',' });
for(int i = 0; i < expected.Length && i < names.Length; i++)
{
if(expected[i].firstName != names[i].firstName || expected[i].lastName != names[i].lastName)
{
Console.WriteLine("read in names do not match what was expected");
return 1;
}
}
Console.WriteLine("readFile with invalid file path, expecting error message");
OrderNames.readFile("qqwertytrewertytrewertytrew", new char[] { ',' });
break;
case "2":
Console.WriteLine("writeFile tests");
OrderNames.writeFile("test.txt", expected);
Console.WriteLine("please check \"test.txt\" for the following names");
Console.WriteLine("THEODORE, BAKER");
Console.WriteLine("ANDREW, SMITH");
Console.WriteLine("MADISON, KENT");
Console.WriteLine("FREDRICK, SMITH");
break;
case "3":
Console.WriteLine("orderNames test");
names = OrderNames.orderNames(expected);
for(int i = 0; i < expectedOrdered.Length && i < names.Length; i++)
{
if(expectedOrdered[i].firstName != names[i].firstName || expectedOrdered[i].lastName != names[i].lastName)
{
Console.WriteLine("ordered names do not match what was expected");
return 1;
}
}
break;
case "4":
Console.WriteLine("createOutputFilePath tests");
if(OrderNames.createOutputFilePath("test.txt") != "test-sorted.txt")
{
Console.WriteLine("Suffex names do not match");
return 1;
}
if(OrderNames.createOutputFilePath("test") != "test-sorted.txt")
{
Console.WriteLine("Bare name does not match");
return 1;
}
break;
default:
Console.WriteLine("Invalid test number");
return(1);
}
}
Console.WriteLine("Test complete");
return 0;
}
}
}