summary refs log tree commit diff stats
path: root/tests/closure/tinterf.nim
blob: 1ac6da94527881f25d0014269d535af8cfebfdb2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
discard """
  output: '''56 66'''
"""

type
  ITest = tuple[
    setter: proc(v: int) {.closure.},
    getter1: proc(): int {.closure.},
    getter2: proc(): int {.closure.}]

proc getInterf(): ITest =
  var shared1, shared2: int

  return (setter: proc (x: int) =
            shared1 = x
            shared2 = x + 10,
          getter1: proc (): int = result = shared1,
          getter2: proc (): int = return shared2)

var i = getInterf()
i.setter(56)

echo i.getter1(), " ", i.getter2()
"8") def test_the_sound_for_9_is_pling_as_it_has_a_factor_3(self): self.assertEqual(convert(9), "Pling") def test_the_sound_for_10_is_plang_as_it_has_a_factor_5(self): self.assertEqual(convert(10), "Plang") def test_the_sound_for_14_is_plong_as_it_has_a_factor_of_7(self): self.assertEqual(convert(14), "Plong") def test_the_sound_for_15_is_pling_plang_as_it_has_factors_3_and_5(self): self.assertEqual(convert(15), "PlingPlang") def test_the_sound_for_21_is_pling_plong_as_it_has_factors_3_and_7(self): self.assertEqual(convert(21), "PlingPlong") def test_the_sound_for_25_is_plang_as_it_has_a_factor_5(self): self.assertEqual(convert(25), "Plang") def test_the_sound_for_27_is_pling_as_it_has_a_factor_3(self): self.assertEqual(convert(27), "Pling") def test_the_sound_for_35_is_plang_plong_as_it_has_factors_5_and_7(self): self.assertEqual(convert(35), "PlangPlong") def test_the_sound_for_49_is_plong_as_it_has_a_factor_7(self): self.assertEqual(convert(49), "Plong") def test_the_sound_for_52_is_52(self): self.assertEqual(convert(52), "52") def test_the_sound_for_105_is_pling_plang_plong_as_it_has_factors_3_5_and_7(self): self.assertEqual(convert(105), "PlingPlangPlong") def test_the_sound_for_3125_is_plang_as_it_has_a_factor_5(self): self.assertEqual(convert(3125), "Plang") if __name__ == "__main__": unittest.main()