File: size_test.rb

package info (click to toggle)
ruby-riot 0.12.7-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, forky, sid, trixie
  • size: 512 kB
  • sloc: ruby: 2,557; makefile: 2
file content (87 lines) | stat: -rw-r--r-- 3,610 bytes parent folder | download | duplicates (2)
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
require 'teststrap'

context "A size assertion macro" do
  helper(:assert_size) { |sizable, expected_size| Riot::Assertion.new("test") { sizable }.size(expected_size) }

  assertion_test_passes("when string's size is as expected", "is of size 10") do
    assert_size("washington", 10)
  end
  assertion_test_passes("when string's size is in given range", "is of size 9..12") do
    assert_size("washington", 9..12)
  end

  assertion_test_fails("when string's size is not as expected", "expected size of \"washington\" to be 11, not 10") do
    assert_size("washington", 11)
  end
  assertion_test_fails("when string's size is out of range", "expected size of \"washington\" to be 11..13, not 10") do
    assert_size("washington", 11..13)
  end

  assertion_test_passes("when an array's size is as expected", "is of size 3") { assert_size([1, 2, 3], 3) }
  assertion_test_passes("when an array's size is in given range", "is of size 3..4") do
    assert_size([1, 2, 3], 3..4)
  end
  assertion_test_fails("when an array's size is not as expected", "expected size of [1, 2, 3] to be 2, not 3") do
    assert_size([1, 2, 3], 2)
  end
  assertion_test_fails("when an array's size is out of range", "expected size of [1, 2, 3] to be 4..6, not 3") do
    assert_size([1, 2, 3], 4..6)
  end

  assertion_test_passes("when a hash size is as expected", "is of size 1") do
    assert_size({:name => 'washington'}, 1)
  end
  assertion_test_passes("when a hash size is in range", "is of size 1...3") do
    assert_size({:name => 'washington'}, 1...3)
  end
  assertion_test_fails("when a hash size is not as expected", "expected size of {} to be 2, not 0") do
    assert_size({}, 2)
  end
  assertion_test_fails("when a hash size is out of range", "expected size of {} to be 2...4, not 0") do
    assert_size({}, 2...4)
  end
end

context "A negative size assertion macro" do
  helper(:deny_size) { |sizable, expected_size| Riot::Assertion.new("test", true) { sizable }.size(expected_size) }

  assertion_test_fails("when string's size is as expected", 'expected size of "washington" to not be 10, not 10') do
    deny_size("washington", 10)
  end
  assertion_test_fails("when string's size is in given range", 'expected size of "washington" to not be 9..12, not 10') do
    deny_size("washington", 9..12)
  end

  assertion_test_passes("when string's size is not as expected", 'is size 11') do
    deny_size("washington", 11)
  end
  assertion_test_passes("when string's size is out of range", 'is size 11..13') do
    deny_size("washington", 11..13)
  end

  assertion_test_fails("when an array's size is as expected", 'expected size of [1, 2, 3] to not be 3, not 3') do
    deny_size([1, 2, 3], 3)
  end
  assertion_test_fails("when an array's size is in given range", 'expected size of [1, 2, 3] to not be 3..4, not 3') do
    deny_size([1, 2, 3], 3..4)
  end
  assertion_test_passes("when an array's size is not as expected", "is size 2") do
    deny_size([1, 2, 3], 2)
  end
  assertion_test_passes("when an array's size is out of range", "is size 4..6") do
    deny_size([1, 2, 3], 4..6)
  end

  assertion_test_fails("when a hash size is as expected", 'expected size of {:a=>"b"} to not be 1, not 1') do
    deny_size({:a => 'b'}, 1)
  end
  assertion_test_fails("when a hash size is in range", 'expected size of {:a=>"b"} to not be 1...3, not 1') do
    deny_size({:a => 'b'}, 1...3)
  end
  assertion_test_passes("when a hash size is not as expected", "is size 2") do
    deny_size({}, 2)
  end
  assertion_test_passes("when a hash size is out of range", "is size 2...4") do
    deny_size({}, 2...4)
  end
end