|
1 | 1 | import unittest |
2 | 2 |
|
3 | | -from tkinter import Variable, StringVar, IntVar, DoubleVar, BooleanVar, Tcl |
| 3 | +from tkinter import (Variable, StringVar, IntVar, DoubleVar, BooleanVar, Tcl, |
| 4 | + TclError) |
4 | 5 |
|
5 | 6 |
|
6 | 7 | class Var(Variable): |
@@ -159,16 +160,41 @@ class TestBooleanVar(TestBase): |
159 | 160 |
|
160 | 161 | def test_default(self): |
161 | 162 | v = BooleanVar(self.root) |
162 | | - self.assertEqual(False, v.get()) |
| 163 | + self.assertIs(v.get(), False) |
163 | 164 |
|
164 | 165 | def test_get(self): |
165 | 166 | v = BooleanVar(self.root, True, "name") |
166 | | - self.assertAlmostEqual(True, v.get()) |
| 167 | + self.assertIs(v.get(), True) |
167 | 168 | self.root.globalsetvar("name", "0") |
168 | | - self.assertAlmostEqual(False, v.get()) |
| 169 | + self.assertIs(v.get(), False) |
| 170 | + self.root.globalsetvar("name", 42 if self.root.wantobjects() else 1) |
| 171 | + self.assertIs(v.get(), True) |
| 172 | + self.root.globalsetvar("name", 0) |
| 173 | + self.assertIs(v.get(), False) |
| 174 | + self.root.globalsetvar("name", "on") |
| 175 | + self.assertIs(v.get(), True) |
| 176 | + |
| 177 | + def test_set(self): |
| 178 | + true = 1 if self.root.wantobjects() else "1" |
| 179 | + false = 0 if self.root.wantobjects() else "0" |
| 180 | + v = BooleanVar(self.root, name="name") |
| 181 | + v.set(True) |
| 182 | + self.assertEqual(self.root.globalgetvar("name"), true) |
| 183 | + v.set("0") |
| 184 | + self.assertEqual(self.root.globalgetvar("name"), false) |
| 185 | + v.set(42) |
| 186 | + self.assertEqual(self.root.globalgetvar("name"), true) |
| 187 | + v.set(0) |
| 188 | + self.assertEqual(self.root.globalgetvar("name"), false) |
| 189 | + v.set("on") |
| 190 | + self.assertEqual(self.root.globalgetvar("name"), true) |
169 | 191 |
|
170 | 192 | def test_invalid_value_domain(self): |
| 193 | + false = 0 if self.root.wantobjects() else "0" |
171 | 194 | v = BooleanVar(self.root, name="name") |
| 195 | + with self.assertRaises(TclError): |
| 196 | + v.set("value") |
| 197 | + self.assertEqual(self.root.globalgetvar("name"), false) |
172 | 198 | self.root.globalsetvar("name", "value") |
173 | 199 | with self.assertRaises(ValueError): |
174 | 200 | v.get() |
|
0 commit comments