Completed
Branch feature/0.7.0 (0808a6)
by Ryuichi
158:51 queued 113:46
created

InputStreamReaderProvider::resetProvider()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 7
Ratio 100 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 7
loc 7
rs 9.4285
c 0
b 0
f 0
1
<?php
2
namespace WebStream\IO\Test\Providers;
3
4
use WebStream\IO\FileInputStream;
5
use WebStream\IO\StringInputStream;
6
7
/**
8
 * InputStreamReaderProvider
9
 * @author Ryuichi TANAKA.
10
 * @since 2016/08/18
11
 * @version 0.7
12
 */
13
trait InputStreamReaderProvider
14
{
15
    public function readCharProvider()
16
    {
17
        return [
18
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test1.txt"), "a", 1],
19
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test1.txt"), "a\n", 100], // over eof
20
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test2.txt"), "あ", 3],
21
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test2.txt"), "あ\n", 100], // over eof
22
            [new StringInputStream("a"), "a", 1],
23
            [new StringInputStream("a"), "a", 100], // over eof
24
            [new StringInputStream("あ"), "あ", 3],
25
            [new StringInputStream("あ"), "あ", 100] // over eof
26
        ];
27
    }
28
29
    public function readLineProvider()
30
    {
31
        return [
32
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test3.txt"), "test1", "test2"],
33
            [new StringInputStream("test1\ntest2\n"), "test1", "test2"]
34
        ];
35
    }
36
37
    public function closeProvider()
38
    {
39
        return [
40
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test1.txt")],
41
            [new StringInputStream("a\n")]
42
        ];
43
    }
44
45
    public function skipProvider()
46
    {
47
        return [
48
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test4.txt"), "a", 0],
49
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test4.txt"), "b", 1],
50
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test4.txt"), "d", 3],
51
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test4.txt"), "f", 5],
52
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test4.txt"), "\n", 9],
53
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test4.txt"), "", 10],
54
            [new StringInputStream("abcdefghi"), "a", 0],
55
            [new StringInputStream("abcdefghi"), "b", 1],
56
            [new StringInputStream("abcdefghi"), "d", 3],
57
            [new StringInputStream("abcdefghi"), "f", 5],
58
            [new StringInputStream("abcdefghi"), "", 9],
59
            [new StringInputStream("abcdefghi"), "", 10]
60
        ];
61
    }
62
63
    public function overSkipAndReadProvider()
64
    {
65
        return [
66
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test5.txt"), 4],
67
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test6.txt"), 100],
68
            [new StringInputStream("abc\n"), 4],
69
            [new StringInputStream("abcde\nあいうえお"), 100]
70
        ];
71
    }
72
73
    public function frontSkipProvider()
74
    {
75
        return [
76
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test8.txt"), 3, -1, "c"],
77
            [new StringInputStream("abcde\n"), 3, -1, "c"]
78
        ];
79
    }
80
81
    public function overFrontSkipProvider()
82
    {
83
        return [
84
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test1.txt"), -1],
85
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test1.txt"), -100],
86
            [new StringInputStream("a\n"), -1],
87
            [new StringInputStream("a\n"), -100]
88
        ];
89
    }
90
91
    public function resetProvider()
92
    {
93
        return [
94
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test1.txt"), 1, "a"],
95
            [new StringInputStream("a\n"), 1, "a"]
96
        ];
97
    }
98
99
    public function markAndResetProvider()
100
    {
101
        return [
102
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test7.txt"), 3, "d"],
103
            [new StringInputStream("abcde\n"), 3, "d"]
104
        ];
105
    }
106
107
    public function invalidLengthProvider()
108
    {
109
        return [
110
            [new FileInputStream(dirname(__FILE__)  . "/../Fixtures/inputstreamreader-test1.txt"), "a"],
111
            [new StringInputStream("a\n"), "a"]
112
        ];
113
    }
114
}
115