addit_test.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package model
  2. import (
  3. "testing"
  4. . "github.com/smartystreets/goconvey/convey"
  5. )
  6. func TestDao_AllAchieveFromFollower(t *testing.T) {
  7. Convey("AllAchieveFromFollower", t, func() {
  8. flags := AllAchieveFromFollower(500)
  9. So(flags, ShouldBeEmpty)
  10. flags = AllAchieveFromFollower(1000)
  11. So(flags, ShouldResemble, []AchieveFlag{FollowerAchieve1k})
  12. flags = AllAchieveFromFollower(2000)
  13. So(flags, ShouldResemble, []AchieveFlag{FollowerAchieve1k})
  14. flags = AllAchieveFromFollower(5000)
  15. So(flags, ShouldResemble, []AchieveFlag{FollowerAchieve1k, FollowerAchieve5k})
  16. flags = AllAchieveFromFollower(5001)
  17. So(flags, ShouldResemble, []AchieveFlag{FollowerAchieve1k, FollowerAchieve5k})
  18. flags = AllAchieveFromFollower(10000)
  19. So(flags, ShouldResemble, []AchieveFlag{FollowerAchieve1k, FollowerAchieve5k, FollowerAchieve10k})
  20. flags = AllAchieveFromFollower(100000)
  21. So(flags, ShouldResemble, []AchieveFlag{FollowerAchieve1k, FollowerAchieve5k, FollowerAchieve10k, FollowerAchieve10k << 1})
  22. flags = AllAchieveFromFollower(200000)
  23. So(flags, ShouldResemble, []AchieveFlag{FollowerAchieve1k, FollowerAchieve5k, FollowerAchieve10k, FollowerAchieve10k << 1, FollowerAchieve10k << 2})
  24. flags = AllAchieveFromFollower(300000)
  25. So(flags, ShouldResemble, []AchieveFlag{FollowerAchieve1k, FollowerAchieve5k, FollowerAchieve10k, FollowerAchieve10k << 1, FollowerAchieve10k << 2, FollowerAchieve10k << 3})
  26. flags = AllAchieveFromFollower(305000)
  27. So(flags, ShouldResemble, []AchieveFlag{FollowerAchieve1k, FollowerAchieve5k, FollowerAchieve10k, FollowerAchieve10k << 1, FollowerAchieve10k << 2, FollowerAchieve10k << 3})
  28. })
  29. }
  30. func TestDao_AchieveFromFollower(t *testing.T) {
  31. Convey("AchieveFromFollower", t, func() {
  32. flag := AchieveFromFollower(500)
  33. So(flag, ShouldBeZeroValue)
  34. flag = AchieveFromFollower(1000)
  35. So(flag, ShouldEqual, FollowerAchieve1k)
  36. flag = AchieveFromFollower(2000)
  37. So(flag, ShouldEqual, FollowerAchieve1k)
  38. flag = AchieveFromFollower(5000)
  39. So(flag, ShouldEqual, FollowerAchieve5k)
  40. flag = AchieveFromFollower(10000)
  41. So(flag, ShouldEqual, FollowerAchieve10k)
  42. flag = AchieveFromFollower(100000)
  43. So(flag, ShouldEqual, FollowerAchieve10k<<1)
  44. flag = AchieveFromFollower(200000)
  45. So(flag, ShouldEqual, FollowerAchieve10k<<2)
  46. flag = AchieveFromFollower(305000)
  47. So(flag, ShouldEqual, FollowerAchieve10k<<3)
  48. })
  49. }