grim/convey
Clone
Summary
Browse
Changes
Graph
Bump the version for release
v0.14.0-alpha3
2018-02-20, Gary Kramlich
166a6d1979fa
Bump the version for release
// Convey
// Copyright 2016-2018 Gary Kramlich <grim@reaperworld.com>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package
command
import
(
"testing"
"github.com/aphistic/sweet"
junit
"github.com/aphistic/sweet-junit"
.
"github.com/onsi/gomega"
)
type
generatorSuite
struct
{}
func
TestMain
(
m
*
testing
.
M
)
{
RegisterFailHandler
(
sweet
.
GomegaFail
)
sweet
.
Run
(
m
,
func
(
s
*
sweet
.
S
)
{
s
.
RegisterPlugin
(
junit
.
NewPlugin
())
s
.
AddSuite
(
&
generatorSuite
{})
})
}
func
(
s
*
generatorSuite
)
TestWithoutArgs
(
t
sweet
.
T
)
{
g
:=
NewGenerator
()
Expect
(
g
).
ToNot
(
BeNil
())
}
func
(
s
*
generatorSuite
)
TestWithArgs
(
t
sweet
.
T
)
{
g
:=
NewGenerator
(
"a"
)
Expect
(
g
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
}))
g
=
NewGenerator
(
"a"
,
"b"
,
"c"
)
Expect
(
g
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
}))
}
func
(
s
*
generatorSuite
)
TestAppend
(
t
sweet
.
T
)
{
g
:=
NewGenerator
(
"a"
)
g
.
Append
(
"b"
,
"c"
)
Expect
(
g
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
}))
g
=
NewGenerator
(
"a"
,
"b"
)
g
.
Append
(
"c"
)
Expect
(
g
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
}))
g
=
NewGenerator
(
"a"
)
g
.
Append
(
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"i"
,
"j"
,
"k"
)
Expect
(
g
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"i"
,
"j"
,
"k"
}))
}
func
(
s
*
generatorSuite
)
TestPrepend
(
t
sweet
.
T
)
{
g
:=
NewGenerator
(
"b"
,
"c"
)
g
.
Prepend
(
"a"
)
Expect
(
g
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
}))
g
=
NewGenerator
(
"k"
)
g
.
Prepend
(
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"i"
,
"j"
)
Expect
(
g
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"i"
,
"j"
,
"k"
}))
}
func
(
s
*
generatorSuite
)
TestMultiplePrepends
(
t
sweet
.
T
)
{
g
:=
NewGenerator
(
"u"
,
"v"
,
"w"
,
"x"
,
"y"
,
"z"
)
g
.
Prepend
(
"k"
,
"l"
,
"m"
,
"n"
,
"o"
,
"p"
,
"q"
,
"r"
,
"s"
,
"t"
)
g
.
Prepend
(
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"i"
,
"j"
)
Expect
(
g
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
,
"g"
,
"h"
,
"i"
,
"j"
,
"k"
,
"l"
,
"m"
,
"n"
,
"o"
,
"p"
,
"q"
,
"r"
,
"s"
,
"t"
,
"u"
,
"v"
,
"w"
,
"x"
,
"y"
,
"z"
,
}))
}
func
(
s
*
generatorSuite
)
TestAppendv
(
t
sweet
.
T
)
{
Expect
(
NewGenerator
().
Command
()).
To
(
BeEquivalentTo
([]
string
{}))
cmd
:=
NewGenerator
(
"a"
,
"b"
,
"c"
)
cmd
.
Appendv
([]
string
{
"d"
,
"e"
,
"f"
})
Expect
(
cmd
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
,
"d"
,
"e"
,
"f"
}))
}
func
(
s
*
generatorSuite
)
TestMixedAppend
(
t
sweet
.
T
)
{
cmd
:=
NewGenerator
(
"a"
)
cmd
.
Appendv
([]
string
{
"b"
,
"c"
})
Expect
(
cmd
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
}))
}
func
(
s
*
generatorSuite
)
TestPrependv
(
t
sweet
.
T
)
{
cmd
:=
NewGenerator
(
"c"
)
cmd
.
Prependv
([]
string
{
"a"
,
"b"
})
Expect
(
cmd
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
,
"b"
,
"c"
}))
cmd
=
NewGenerator
(
"a"
)
cmd
.
Prependv
([]
string
{})
Expect
(
cmd
.
Command
()).
To
(
BeEquivalentTo
([]
string
{
"a"
}))
}