From cce1a2a73e4155a6233822380c26d6c063f72de1 Mon Sep 17 00:00:00 2001 From: ylxdzsw Date: Wed, 26 Jul 2017 09:57:20 +0800 Subject: [PATCH] add tests for throttle --- test/runtests.jl | 1 + test/throttle.jl | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 test/throttle.jl diff --git a/test/runtests.jl b/test/runtests.jl index 655d924a..7128e13b 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -18,6 +18,7 @@ include("backend/common.jl") include("basic.jl") include("recurrent.jl") include("optimizer.jl") +include("throttle.jl") @tfonly include("backend/tensorflow.jl") @mxonly include("backend/mxnet.jl") diff --git a/test/throttle.jl b/test/throttle.jl new file mode 100644 index 00000000..d3dcd925 --- /dev/null +++ b/test/throttle.jl @@ -0,0 +1,49 @@ +using Flux.throttle + +@testset "throttle" begin + @testset "default behaviour" begin + a = [] + f = throttle(()->push!(a, now()), 1, leading=true, trailing=false) + f() + f() + f() + sleep(1.01) + @test length(a) == 1 + end + + @testset "leading behaviour" begin + a = [] + f = throttle(()->push!(a, now()), 1, leading=true, trailing=false) + f() + @test length(a) == 1 + f() + @test length(a) == 1 + sleep(1.01) + f() + @test length(a) == 2 + end + + @testset "trailing behaviour" begin + a = [] + f = throttle(()->push!(a, now()), 1, leading=false, trailing=true) + f() + @test length(a) == 0 + f() + @test length(a) == 0 + sleep(1.01) + @test length(a) == 1 + end + + @testset "arguments" begin + a = [] + f = throttle((x)->push!(a, x), 1, leading=true, trailing=true) + f(1) + @test a == [1] + f(2) + @test a == [1] + f(3) + @test a == [1] + sleep(1.01) + @test a == [1, 3] + end +end