Skip to content

Commit dece7f8

Browse files
committed
Add byte/int8/int16 stream functions. Fix travis-ci svg url
1 parent 42704a1 commit dece7f8

File tree

4 files changed

+81
-4
lines changed

4 files changed

+81
-4
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![tag](https://img.shields.io/github/tag/TeaEntityLab/fpGo.svg)](https://github.com/TeaEntityLab/fpGo)
44
[![Go Report Card](https://goreportcard.com/badge/github.com/TeaEntityLab/fpGo)](https://goreportcard.com/report/github.com/TeaEntityLab/fpGo)
55
[![codecov](https://codecov.io/gh/TeaEntityLab/fpGo/branch/master/graph/badge.svg)](https://codecov.io/gh/TeaEntityLab/fpGo)
6-
[![Travis CI Build Status](https://api.travis-ci.org/TeaEntityLab/fpGo.svg?branch=master)](https://travis-ci.org/TeaEntityLab/fpGo)
6+
[![Travis CI Build Status](https://travis-ci.com/TeaEntityLab/fpGo.svg?branch=master)](https://travis-ci.org/TeaEntityLab/fpGo)
77
[![GoDoc](https://godoc.org/github.com/TeaEntityLab/fpGo?status.svg)](https://godoc.org/github.com/TeaEntityLab/fpGo)
88

99
[![license](https://img.shields.io/github/license/TeaEntityLab/fpGo.svg?style=social&label=License)](https://github.com/TeaEntityLab/fpGo)

cor_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func TestCorYield(t *testing.T) {
5050
v, _ = Maybe.Just(self.Yield()).ToInt()
5151
actualInt = v + 1
5252

53-
v, _ = Maybe.Just(self.YieldFromIO(MonadIO.Just(1).ObserveOn(&Handler))).ToInt()
53+
v, _ = Maybe.Just(self.YieldFromIO(MonadIO.Just(1).ObserveOn(Handler.GetDefault()))).ToInt()
5454
logMessage(self, "s", 5)
5555
actualInt += v
5656
logMessage(self, "s", 6)
@@ -104,7 +104,9 @@ func TestCorDoNotation(t *testing.T) {
104104
logMessage(self, "Do Notation", "v", v)
105105
logMessage(self, "Do Notation", "result", result)
106106

107-
v, _ = Maybe.Just(self.YieldFromIO(MonadIO.Just(1).ObserveOn(&Handler))).ToInt()
107+
h := Handler.New()
108+
defer h.Close()
109+
v, _ = Maybe.Just(self.YieldFromIO(MonadIO.Just(1).ObserveOn(h))).ToInt()
108110
result += v
109111

110112
logMessage(self, "Do Notation", "result", result)

stream.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,39 @@ func (streamSelf *StreamDef) FromArrayInt(old []int) *StreamDef {
5353
return streamSelf.FromArray(new)
5454
}
5555

56+
// FromArrayByte New Stream instance from an int8 array
57+
func (streamSelf *StreamDef) FromArrayByte(old []byte) *StreamDef {
58+
new := make([]interface{}, len(old))
59+
for i, v := range old {
60+
var item interface{} = v
61+
new[i] = item
62+
}
63+
64+
return streamSelf.FromArray(new)
65+
}
66+
67+
// FromArrayInt8 New Stream instance from an int8 array
68+
func (streamSelf *StreamDef) FromArrayInt8(old []int8) *StreamDef {
69+
new := make([]interface{}, len(old))
70+
for i, v := range old {
71+
var item interface{} = v
72+
new[i] = item
73+
}
74+
75+
return streamSelf.FromArray(new)
76+
}
77+
78+
// FromArrayInt16 New Stream instance from an int16 array
79+
func (streamSelf *StreamDef) FromArrayInt16(old []int16) *StreamDef {
80+
new := make([]interface{}, len(old))
81+
for i, v := range old {
82+
var item interface{} = v
83+
new[i] = item
84+
}
85+
86+
return streamSelf.FromArray(new)
87+
}
88+
5689
// FromArrayInt32 New Stream instance from an int32 array
5790
func (streamSelf *StreamDef) FromArrayInt32(old []int32) *StreamDef {
5891
new := make([]interface{}, len(old))

stream_test.go

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,55 @@ func TestFromArrayMapReduce(t *testing.T) {
9595
tempString += Maybe.Just(v).ToMaybe().ToString()
9696
}
9797
assert.Equal(t, "14916", tempString)
98+
99+
s = Stream.FromArrayBool([]bool{true, false, true, false})
100+
tempString = ""
101+
for _, v := range s.ToArray() {
102+
tempString += Maybe.Just(v).ToMaybe().ToString()
103+
}
104+
assert.Equal(t, "truefalsetruefalse", tempString)
105+
106+
s = Stream.FromArrayByte([]byte{1, 2, 3, 4})
107+
tempString = ""
108+
for _, v := range s.ToArray() {
109+
tempString += Maybe.Just(v).ToMaybe().ToString()
110+
}
111+
assert.Equal(t, "1234", tempString)
112+
113+
s = Stream.FromArrayInt8([]int8{1, 2, 3, 4})
114+
tempString = ""
115+
for _, v := range s.ToArray() {
116+
tempString += Maybe.Just(v).ToMaybe().ToString()
117+
}
118+
assert.Equal(t, "1234", tempString)
119+
120+
s = Stream.FromArrayInt16([]int16{1, 2, 3, 4})
121+
tempString = ""
122+
for _, v := range s.ToArray() {
123+
tempString += Maybe.Just(v).ToMaybe().ToString()
124+
}
125+
assert.Equal(t, "1234", tempString)
126+
127+
s = Stream.FromArrayInt32([]int32{1, 2, 3, 4})
128+
tempString = ""
129+
for _, v := range s.ToArray() {
130+
tempString += Maybe.Just(v).ToMaybe().ToString()
131+
}
132+
assert.Equal(t, "1234", tempString)
133+
134+
s = Stream.FromArrayInt64([]int64{1, 2, 3, 4})
135+
tempString = ""
136+
for _, v := range s.ToArray() {
137+
tempString += Maybe.Just(v).ToMaybe().ToString()
138+
}
139+
assert.Equal(t, "1234", tempString)
98140
}
99141

100142
func TestFilter(t *testing.T) {
101143
var s *StreamDef
102144
var tempString string
103145

104-
s = Stream.FromArrayInt([]int{}).Append(1).Extend(Stream.FromArrayInt([]int{2, 3, 4})).Extend(Stream.FromArray([]interface{}{nil}))
146+
s = Stream.FromArrayInt([]int{}).Append(1).Extend(Stream.FromArrayInt([]int{2, 3, 4})).Extend(Stream.FromArray([]interface{}{nil})).Extend(nil)
105147
tempString = ""
106148
for _, v := range s.ToArray() {
107149
tempString += Maybe.Just(v).ToMaybe().ToString()

0 commit comments

Comments
 (0)