Update it all, VisualStudio Changes
This commit is contained in:
81
csharp/grade-school/GradeSchoolTest.cs
Normal file
81
csharp/grade-school/GradeSchoolTest.cs
Normal file
@@ -0,0 +1,81 @@
|
||||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
|
||||
[TestFixture]
|
||||
public class GradeSchoolTest
|
||||
{
|
||||
private School school;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
school = new School();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void New_school_has_an_empty_roster()
|
||||
{
|
||||
Assert.That(school.Roster, Has.Count.EqualTo(0));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Adding_a_student_adds_them_to_the_roster_for_the_given_grade()
|
||||
{
|
||||
school.Add("Aimee", 2);
|
||||
var expected = new List<string> { "Aimee" };
|
||||
Assert.That(school.Roster[2], Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Adding_more_students_to_the_same_grade_adds_them_to_the_roster()
|
||||
{
|
||||
school.Add("Blair", 2);
|
||||
school.Add("James", 2);
|
||||
school.Add("Paul", 2);
|
||||
var expected = new List<string> { "Blair", "James", "Paul" };
|
||||
Assert.That(school.Roster[2], Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Adding_students_to_different_grades_adds_them_to_the_roster()
|
||||
{
|
||||
school.Add("Chelsea", 3);
|
||||
school.Add("Logan", 7);
|
||||
Assert.That(school.Roster[3], Is.EqualTo(new List<string> { "Chelsea" }));
|
||||
Assert.That(school.Roster[7], Is.EqualTo(new List<string> { "Logan" }));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Grade_returns_the_students_in_that_grade_in_alphabetical_order()
|
||||
{
|
||||
school.Add("Franklin", 5);
|
||||
school.Add("Bradley", 5);
|
||||
school.Add("Jeff", 1);
|
||||
var expected = new List<string> { "Bradley", "Franklin" };
|
||||
Assert.That(school.Grade(5), Is.EqualTo(expected));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Grade_returns_an_empty_list_if_there_are_no_students_in_that_grade()
|
||||
{
|
||||
Assert.That(school.Grade(1), Is.EqualTo(new List<string>()));
|
||||
}
|
||||
|
||||
[Ignore("Remove to run test")]
|
||||
[Test]
|
||||
public void Student_names_in_each_grade_in_roster_are_sorted()
|
||||
{
|
||||
school.Add("Jennifer", 4);
|
||||
school.Add("Kareem", 6);
|
||||
school.Add("Christopher", 4);
|
||||
school.Add("Kyle", 3);
|
||||
Assert.That(school.Roster[3], Is.EqualTo(new List<string> { "Kyle" }));
|
||||
Assert.That(school.Roster[4], Is.EqualTo(new List<string> { "Christopher", "Jennifer" }));
|
||||
Assert.That(school.Roster[6], Is.EqualTo(new List<string> { "Kareem" }));
|
||||
}
|
||||
}
|
49
csharp/grade-school/README.md
Normal file
49
csharp/grade-school/README.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Grade School
|
||||
|
||||
Write a small archiving program that stores students' names along with the grade that they are in.
|
||||
|
||||
In the end, you should be able to:
|
||||
|
||||
- Add a student's name to the roster for a grade
|
||||
- "Add Jim to grade 2."
|
||||
- "OK."
|
||||
- Get a list of all students enrolled in a grade
|
||||
- "Which students are in grade 2?"
|
||||
- "We've only got Jim just now."
|
||||
- Get a sorted list of all students in all grades. Grades should sort
|
||||
as 1, 2, 3, etc., and students within a grade should be sorted
|
||||
alphabetically by name.
|
||||
- "Who all is enrolled in school right now?"
|
||||
- "Grade 1: Anna, Barb, and Charlie. Grade 2: Alex, Peter, and Zoe.
|
||||
Grade 3…"
|
||||
|
||||
Note that all our students only have one name. (It's a small town, what
|
||||
do you want?)
|
||||
|
||||
|
||||
## For bonus points
|
||||
|
||||
Did you get the tests passing and the code clean? If you want to, these
|
||||
are some additional things you could try:
|
||||
|
||||
- If you're working in a language with mutable data structures and your
|
||||
implementation allows outside code to mutate the school's internal DB
|
||||
directly, see if you can prevent this. Feel free to introduce additional
|
||||
tests.
|
||||
|
||||
Then please share your thoughts in a comment on the submission. Did this
|
||||
experiment make the code better? Worse? Did you learn anything from it?
|
||||
|
||||
### Submitting Exercises
|
||||
|
||||
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
||||
|
||||
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
||||
|
||||
## Source
|
||||
|
||||
A pairing session with Phil Battos at gSchool [http://gschool.it](http://gschool.it)
|
||||
|
||||
## Submitting Incomplete Problems
|
||||
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
||||
|
Reference in New Issue
Block a user