Sha256: 43a6bdd9e24101169986ef16b22ce5262aa6363007ae6232fcf91f2274beb71a

Contents?: true

Size: 1.5 KB

Versions: 326

Compression:

Stored size: 1.5 KB

Contents

if !System.get_env("EXERCISM_TEST_EXAMPLES") do
  Code.load_file("school.exs", __DIR__)
end

ExUnit.start
ExUnit.configure exclude: :pending, trace: true

defmodule SchoolTest do
  use ExUnit.Case

  @db %{}

  test "add student" do
    actual = School.add(@db, "Aimee", 2)
    assert actual == %{2 =>["Aimee"]}
  end

  @tag :pending
  test "add more students in same class" do
    actual = @db
    |> School.add("James", 2)
    |> School.add("Blair", 2)
    |> School.add("Paul", 2)

    assert Enum.sort(actual[2]) == ["Blair", "James", "Paul"]
  end

  @tag :pending
  test "add students to different grades" do
    actual = @db
    |> School.add("Chelsea", 3)
    |> School.add("Logan", 7)

    assert actual == %{3 => ["Chelsea"], 7 => ["Logan"]}
  end

  @tag :pending
  test "get students in a grade" do
    actual = @db
    |> School.add("Bradley", 5)
    |> School.add("Franklin", 5)
    |> School.add("Jeff", 1)
    |> School.grade(5)

    assert Enum.sort(actual) == ["Bradley", "Franklin"]
  end

  @tag :pending
  test "get students in a non existent grade" do
    assert [] == School.grade(@db, 1)
  end

  @tag :pending
  test "sort school by grade and by student name" do
    actual = @db
    |> School.add("Bart", 4)
    |> School.add("Jennifer", 4)
    |> School.add("Christopher", 4)
    |> School.add("Kareem", 6)
    |> School.add("Kyle", 3)
    |> School.sort

    expected = [
      {3, ["Kyle"]},
      {4, ["Bart", "Christopher", "Jennifer"]},
      {6, ["Kareem"]}
    ]

    assert expected == actual
  end
end

Version data entries

326 entries across 326 versions & 1 rubygems

Version Path
trackler-2.2.1.109 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.108 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.107 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.106 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.105 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.104 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.103 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.102 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.101 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.100 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.99 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.98 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.97 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.96 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.95 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.94 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.93 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.92 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.91 tracks/elixir/exercises/grade-school/grade_school_test.exs
trackler-2.2.1.90 tracks/elixir/exercises/grade-school/grade_school_test.exs