本文整理匯總了Golang中github.com/myshkin5/jsonstruct.JSONStruct.SetDuration方法的典型用法代碼示例。如果您正苦於以下問題:Golang JSONStruct.SetDuration方法的具體用法?Golang JSONStruct.SetDuration怎麽用?Golang JSONStruct.SetDuration使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/myshkin5/jsonstruct.JSONStruct
的用法示例。
在下文中一共展示了JSONStruct.SetDuration方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
Expect(ok).To(BeTrue())
Expect(value).To(Equal(1000000))
Expect(values.SetInt(".parent.child", 12345)).To(Succeed())
value, ok = values.Int(".parent.child")
Expect(ok).To(BeTrue())
Expect(value).To(Equal(12345))
})
})
Describe("SetDuration()", func() {
It("sets a duration value as a string", func() {
values = jsonstruct.New()
Expect(values.SetDuration(".duration-path", 32*time.Second)).To(Succeed())
Expect(values["duration-path"]).To(Equal("32s"))
})
})
Describe("SetList()", func() {
It("sets a list", func() {
values = jsonstruct.New()
sub := jsonstruct.New()
sub.SetString(".x", "y")
list := []interface{}{1, "u", sub}
Expect(values.SetList(".doc.list", list)).To(Succeed())
示例2:
MessageCount: 0,
ByteCount: 0,
ErrorCount: 0,
}
singleMessageReport := streaming.Report{
MessageCount: 1,
ByteCount: 1024,
ErrorCount: 0,
}
Context("with a 5-messages-per-second configuration", func() {
BeforeEach(func() {
// one message per 100ms
config.SetInt(streaming.MessagesPerSecond, 10)
// will alternate reports of 0 and 1 messages per report
config.SetDuration(streaming.ReportCycle, 80*time.Millisecond)
err := scheme.Init(config)
Expect(err).NotTo(HaveOccurred())
})
It("sets up the reporter properly", func() {
Expect(reporter.expectedMessagesPerSecond).To(Equal(10))
Expect(reporter.reportCycle).To(Equal(80 * time.Millisecond))
})
It("writes messages at the rate specified", func() {
go scheme.RunWriter(writer)
Eventually(reporter.reports, 100*time.Millisecond).Should(Receive(Equal(emptyReport)))
Eventually(reporter.reports, 100*time.Millisecond).Should(Receive(Equal(singleMessageReport)))