本文整理汇总了Golang中github.com/orfjackal/gospec/src/gospec.Context类的典型用法代码示例。如果您正苦于以下问题:Golang Context类的具体用法?Golang Context怎么用?Golang Context使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Context类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: ComplexOperationsSpec
func ComplexOperationsSpec(c gospec.Context) {
c.Specify("Vec2.DistToLine() works.", func() {
centers := []linear.Vec2{
linear.Vec2{10, 12},
linear.Vec2{1, -9},
linear.Vec2{-100, -42},
linear.Vec2{0, 1232},
}
radiuses := []float64{3, 10.232, 435, 1}
thetas := []float64{0.001, 0.1, 1, 1.01, 0.034241, 0.789, 90, 179, 180}
angles := []float64{1.01, 1.0, 1.11111, 930142}
for _, center := range centers {
for _, radius := range radiuses {
for _, angle := range angles {
for _, theta := range thetas {
a := linear.Vec2{math.Cos(angle), math.Sin(angle)}
b := linear.Vec2{math.Cos(angle + theta), math.Sin(angle + theta)}
seg := linear.Seg2{a.Scale(radius).Add(center), b.Scale(radius).Add(center)}
dist := center.DistToLine(seg)
real_dist := radius * math.Cos(theta/2)
if real_dist < 0 {
real_dist = -real_dist
}
c.Expect(dist, IsWithin(1e-9), real_dist)
}
}
}
}
})
}
开发者ID:runningwild,项目名称:linear,代码行数:30,代码来源:linear_test.go
示例2: Alloc3dSpec
func Alloc3dSpec(c gospec.Context) {
d100x20x10 := Alloc3d(100, 20, 10)
c.Specify("Allocates the appropriate memory for 3d arrays.", func() {
c.Expect(len(d100x20x10), gospec.Equals, 100)
for _, v := range d100x20x10 {
c.Expect(len(v), gospec.Equals, 20)
for _, v := range v {
c.Expect(len(v), gospec.Equals, 10)
}
}
counter := 0.0
for i := range d100x20x10 {
for j := range d100x20x10[i] {
for k := range d100x20x10[i][j] {
d100x20x10[i][j][k] = complex(counter, 0)
counter += 1.0
}
}
}
counter = 0.0
for i := range d100x20x10 {
for j := range d100x20x10[i] {
for k := range d100x20x10[i][j] {
c.Expect(real(d100x20x10[i][j][k]), gospec.Equals, counter)
counter += 1.0
}
}
}
})
}
开发者ID:jtc25,项目名称:go-fftw,代码行数:30,代码来源:fftw_test.go
示例3: DecodeBoundBoxSpecs
// Helpers
func DecodeBoundBoxSpecs(c gospec.Context) {
c.Specify("[DecodeBoundBox] Decodes GeoHash to DecodedBoundBox", func() {
value := DecodeBoundBox("ww8p1r4t8")
c.Expect(value.Min.Latitude, gospec.Equals, 37.83236503601074)
c.Expect(value.Min.Longitude, gospec.Equals, 112.55836486816406)
c.Expect(value.Max.Latitude, gospec.Equals, 37.83240795135498)
c.Expect(value.Max.Longitude, gospec.Equals, 112.5584077835083)
})
}
开发者ID:RUNDSP,项目名称:ggeohash,代码行数:11,代码来源:decode_bound_box_test.go
示例4: NumRemainingValuesSpec
func NumRemainingValuesSpec(c gospec.Context) {
c.Specify("Can handle any number of terms remaining after evaluation.", func() {
context := polish.MakeContext()
context.AddFunc("makeZero", func() {})
context.AddFunc("makeTwo", func() (int, int) { return 1, 2 })
res, err := context.Eval("makeTwo")
c.Assume(len(res), Equals, 2)
c.Assume(err, Equals, nil)
res, err = context.Eval("makeZero")
c.Assume(len(res), Equals, 0)
c.Assume(err, Equals, nil)
})
}
开发者ID:runningwild,项目名称:polish,代码行数:13,代码来源:polish_test.go
示例5: MatrixIndexerSpec
func MatrixIndexerSpec(c gospec.Context) {
size := 100
usedIds := make(map[int]bool)
nodesIds := make(map[VertexId]int)
for i := 0; i < size; i++ {
for j := 0; j < i; j++ {
connId := matrixConnectionsIndexer(VertexId(i), VertexId(j), nodesIds, size, true)
_, ok := usedIds[connId]
c.Expect(ok, IsFalse)
usedIds[connId] = true
}
}
}
开发者ID:tusj,项目名称:go-graph,代码行数:13,代码来源:stuff_test.go
示例6: FFT1dSpec
func FFT1dSpec(c gospec.Context) {
signal := Alloc1d(16)
new_in := Alloc1d(16)
new_out := Alloc1d(16)
for i := range signal {
signal[i] = complex(float32(i), float32(-i))
new_in[i] = signal[i]
}
forward := PlanDft1d(signal, signal, Forward, Estimate)
c.Specify("Creating a plan doesn't overwrite an existing array if fftw.Estimate is used.", func() {
for i := range signal {
c.Expect(signal[i], gospec.Equals, complex(float32(i), float32(-i)))
}
})
// A simple real cosine should result in transform with two spikes, one at S[1] and one at S[-1]
// The spikes should be real and have amplitude equal to len(S)/2 (because fftw doesn't normalize)
for i := range signal {
signal[i] = complex(float32(math.Cos(float64(i)/float64(len(signal))*math.Pi*2)), 0)
new_in[i] = signal[i]
}
forward.Execute()
c.Specify("Forward 1d FFT works properly.", func() {
peakVerifier(signal, c)
})
// This should also be the case when using new arrays...
forward.ExecuteNewArray(new_in, new_out)
c.Specify("New array Forward 1d FFT works properly", func() {
peakVerifier(new_out, c)
})
}
开发者ID:juanmb,项目名称:go-fftwf,代码行数:32,代码来源:fftw_test.go
示例7: MultiValueReturnSpec
func MultiValueReturnSpec(c gospec.Context) {
c.Specify("Functions with zero or more than one return values work.", func() {
context := polish.MakeContext()
polish.AddIntMathContext(context)
rev3 := func(a, b, c int) (int, int, int) {
return c, b, a
}
context.AddFunc("rev3", rev3)
rev5 := func(a, b, c, d, e int) (int, int, int, int, int) {
return e, d, c, b, a
}
context.AddFunc("rev5", rev5)
res, err := context.Eval("- - - - rev5 rev3 1 2 rev3 4 5 6")
c.Assume(len(res), Equals, 1)
c.Assume(err, Equals, nil)
// - - - - rev5 rev3 1 2 rev3 4 5 6
// - - - - rev5 rev3 1 2 6 5 4
// - - - - rev5 6 2 1 5 4
// - - - - 4 5 1 2 6
// - - - -1 1 2 6
// - - -2 2 6
// - -4 6
// -10
c.Expect(int(res[0].Int()), Equals, -10)
})
}
开发者ID:runningwild,项目名称:polish,代码行数:27,代码来源:polish_test.go
示例8: NewArray3Spec
func NewArray3Spec(c gospec.Context) {
d100x20x10 := NewArray3(100, 20, 10)
c.Specify("Allocates the appropriate memory for 3D arrays.", func() {
n0, n1, n2 := d100x20x10.Dims()
c.Expect(n0, gospec.Equals, 100)
c.Expect(n1, gospec.Equals, 20)
c.Expect(n2, gospec.Equals, 10)
var counter float32 = 0.0
for i := 0; i < n0; i++ {
for j := 0; j < n1; j++ {
for k := 0; k < n2; k++ {
d100x20x10.Set(i, j, k, complex(counter, 0))
counter += 1.0
}
}
}
counter = 0.0
for i := 0; i < n0; i++ {
for j := 0; j < n1; j++ {
for k := 0; k < n2; k++ {
c.Expect(real(d100x20x10.At(i, j, k)), gospec.Equals, counter)
counter += 1.0
}
}
}
})
}
开发者ID:jvlmdr,项目名称:go-fftw,代码行数:27,代码来源:fftw_test.go
示例9: Mapper2Spec
func Mapper2Spec(c gospec.Context) {
c.Specify("Map from []int to []float64", func() {
a := []int{0, 1, 2, 3, 4}
var b []float64
algorithm.Map2(a, &b, func(n int) float64 { return float64(n) })
c.Expect(b, ContainsInOrder, []float64{0, 1, 2, 3, 4})
})
// c.Specify("Map from []int to []string", func() {
// a := []int{0,1,2,3,4}
// var b []string
// b = algorithm.Map(a, []string{}, func(v interface{}) interface{} { return fmt.Sprintf("%d", v) }).([]string)
// c.Expect(b, ContainsInOrder, []string{"0", "1", "2", "3", "4"})
// })
}
开发者ID:runningwild,项目名称:glop,代码行数:14,代码来源:generic_test.go
示例10: CMWCSpec
func CMWCSpec(c gospec.Context) {
c.Specify("CMWC32 produces the same output as SlowCMWC.", func() {
fast := core.MakeCMWC32(11, 4)
slow := core.MakeSlowCMWC(11, 1<<32, 1<<4)
N := 100000
for i := 0; i < N; i++ {
f := fast.Next()
s := slow.Next()
c.Expect(f, Equals, s)
if f != s {
break
}
}
})
}
开发者ID:runningwild,项目名称:cmwc,代码行数:15,代码来源:cmwc_test.go
示例11: QuebraLinhaTest
func QuebraLinhaTest(c gospec.Context) {
c.Specify("Caso texto seja menor q tamanho maximo", func() {
c.Expect(QuebraLinha("ola mundo", 14), Equals, "ola mundo")
})
c.Specify("Caso texto seja maior q tamanho maximo", func() {
c.Expect(QuebraLinha("lavarini lindo demais", 15), Equals, "lavarini lindo\ndemais")
})
}
开发者ID:cicerocomp,项目名称:Dojo,代码行数:9,代码来源:quebra_de_linha_test.go
示例12: ParsingSpec
func ParsingSpec(c gospec.Context) {
c.Specify("Whitespace is parsed properly.", func() {
context := polish.MakeContext()
polish.AddIntMathContext(context)
res, err := context.Eval(" + 1 3")
c.Assume(len(res), Equals, 1)
c.Assume(err, Equals, nil)
c.Expect(int(res[0].Int()), Equals, 4)
})
}
开发者ID:runningwild,项目名称:polish,代码行数:10,代码来源:polish_test.go
示例13: BellmanFordSingleSourceSpec
func BellmanFordSingleSourceSpec(c gospec.Context) {
gr := generateDirectedGraph1()
marks := BellmanFordSingleSource(gr, VertexId(2), SimpleWeightFunc)
c.Expect(len(marks), Equals, gr.Order())
c.Expect(PathFromMarks(marks, VertexId(6)), ContainsExactly, Values(VertexId(2), VertexId(6)))
c.Expect(PathFromMarks(marks, VertexId(5)), ContainsExactly, Values(VertexId(2), VertexId(4), VertexId(5)))
c.Expect(PathFromMarks(marks, VertexId(1)), ContainsExactly, Values())
}
开发者ID:tusj,项目名称:go-graph,代码行数:10,代码来源:search_test.go
示例14: NewArraySpec
func NewArraySpec(c gospec.Context) {
d10 := NewArray(10)
d100 := NewArray(100)
d1000 := NewArray(1000)
c.Specify("Allocates the appropriate memory for 1D arrays.", func() {
c.Expect(len(d10.Elems), gospec.Equals, 10)
c.Expect(len(d100.Elems), gospec.Equals, 100)
c.Expect(len(d1000.Elems), gospec.Equals, 1000)
})
}
开发者ID:jvlmdr,项目名称:go-fftw,代码行数:10,代码来源:fftw_test.go
示例15: Alloc1dSpec
func Alloc1dSpec(c gospec.Context) {
d10 := Alloc1d(10)
d100 := Alloc1d(100)
d1000 := Alloc1d(1000)
c.Specify("Allocates the appropriate memory for 1d arrays.", func() {
c.Expect(len(d10), gospec.Equals, 10)
c.Expect(len(d100), gospec.Equals, 100)
c.Expect(len(d1000), gospec.Equals, 1000)
})
}
开发者ID:jtc25,项目名称:go-fftw,代码行数:10,代码来源:fftw_test.go
示例16: FFTC2RSpec
func FFTC2RSpec(c gospec.Context) {
signal := make([]float64, 16)
F_signal := make([]complex128, 9)
forward := PlanDftR2C1d(signal, F_signal, Estimate)
backward := PlanDftC2R1d(F_signal, signal, Estimate)
for i := range signal {
signal[i] = float64(i)
}
forward.Execute()
backward.Execute()
c.Specify("Forward 1d Complx to Real FFT works properly.", func() {
for i := 0; i < len(signal); i++ {
c.Expect(signal[i], gospec.IsWithin(1e-7), float64(i*len(signal)))
}
})
}
开发者ID:jtc25,项目名称:go-fftw,代码行数:18,代码来源:fftw_test.go
示例17: GetAllMixedPathsSpec
func GetAllMixedPathsSpec(c gospec.Context) {
gr := generateMixedGraph1()
/*
[1 2 4 6]
[1 2 6]
[1 2 3 4 6]
[1 6]
*/
pathsCnt := 0
for path := range GetAllMixedPaths(gr, 1, 6) {
pathsCnt++
c.Expect(ContainMixedPath(gr, path, true), IsTrue)
}
c.Expect(pathsCnt, Equals, 4)
}
开发者ID:tusj,项目名称:go-graph,代码行数:18,代码来源:search_test.go
示例18: NeighborSpecs
// Helpers
func NeighborSpecs(c gospec.Context) {
c.Specify("[Neighbor] North neighbor", func() {
value := Neighbor("dqcjq", [2]CardialDirections{North, None})
c.Expect(string(value), gospec.Equals, "dqcjw")
})
c.Specify("[Neighbor] South West neighbor", func() {
value := Neighbor("dqcjq", [2]CardialDirections{South, West})
c.Expect(string(value), gospec.Equals, "dqcjj")
})
}
开发者ID:RUNDSP,项目名称:ggeohash,代码行数:12,代码来源:neighbor_test.go
示例19: FFTSpec
func FFTSpec(c gospec.Context) {
signal := NewArray(16)
new_in := NewArray(16)
for i := range signal.Elems {
signal.Elems[i] = complex(float32(i), float32(-i))
new_in.Elems[i] = signal.Elems[i]
}
// A simple real cosine should result in transform with two spikes, one at S[1] and one at S[-1]
// The spikes should be real and have amplitude equal to len(S)/2 (because fftw doesn't normalize)
for i := range signal.Elems {
signal.Elems[i] = complex(float32(math.Cos(float64(i)/float64(len(signal.Elems))*math.Pi*2)), 0)
new_in.Elems[i] = signal.Elems[i]
}
NewPlan(signal, signal, Forward, Estimate).Execute().Destroy()
c.Specify("Forward 1D FFT works properly.", func() {
peakVerifier(signal.Elems, c)
})
}
开发者ID:jvlmdr,项目名称:go-fftw,代码行数:19,代码来源:fftw_test.go
示例20: EventListenerSpec
func EventListenerSpec(c gospec.Context) {
input := gin.Make()
AB_binding := input.MakeBinding('a', []gin.KeyId{'b'}, []bool{true})
AB := input.BindDerivedKey("AB", AB_binding)
events := make([]gin.OsEvent, 0)
c.Specify("Check keys report state properly while handling events", func() {
injectEvent(&events, 'a', 1, 1)
injectEvent(&events, 'a', 0, 2)
injectEvent(&events, 'b', 1, 3)
injectEvent(&events, 'a', 1, 4)
injectEvent(&events, 'b', 0, 5)
injectEvent(&events, 'a', 0, 6)
c.Specify("Test a", func() {
la := &listener{
input: input,
key_id: 'a',
context: c,
}
input.RegisterEventListener(la)
la.ExpectPressCounts(1, 1, 1, 2, 2, 2)
la.ExpectReleaseCounts(0, 1, 1, 1, 1, 2)
la.ExpectPressAmts(1, 0, 0, 1, 1, 0)
input.Think(0, false, events)
})
c.Specify("Test b", func() {
lb := &listener{
input: input,
key_id: 'b',
context: c,
}
input.RegisterEventListener(lb)
lb.ExpectPressCounts(0, 0, 1, 1, 1, 1)
lb.ExpectReleaseCounts(0, 0, 0, 0, 1, 1)
lb.ExpectPressAmts(0, 0, 1, 1, 0, 0)
input.Think(0, false, events)
})
c.Specify("Test ab", func() {
lab := &listener{
input: input,
key_id: AB.Id(),
context: c,
}
input.RegisterEventListener(lab)
lab.ExpectPressCounts(0, 0, 0, 1, 1, 1)
lab.ExpectReleaseCounts(0, 0, 0, 0, 0, 1)
lab.ExpectPressAmts(0, 0, 0, 1, 1, 0)
input.Think(0, false, events)
})
})
}
开发者ID:losinggeneration,项目名称:glop,代码行数:52,代码来源:input_test.go
注:本文中的github.com/orfjackal/gospec/src/gospec.Context类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论