void SpinCtrlTestCase::Range() { CPPUNIT_ASSERT_EQUAL(0, m_spin->GetMin()); CPPUNIT_ASSERT_EQUAL(100, m_spin->GetMax()); // Test that the value is adjusted to be inside the new valid range but // that this doesn't result in any events (as this is not something done by // the user). { EventCounter updatedSpin(m_spin, wxEVT_SPINCTRL); EventCounter updatedText(m_spin, wxEVT_TEXT); m_spin->SetRange(1, 10); CPPUNIT_ASSERT_EQUAL(1, m_spin->GetValue()); CPPUNIT_ASSERT_EQUAL(0, updatedSpin.GetCount()); CPPUNIT_ASSERT_EQUAL(0, updatedText.GetCount()); } //Test negative ranges m_spin->SetRange(-10, 10); CPPUNIT_ASSERT_EQUAL(-10, m_spin->GetMin()); CPPUNIT_ASSERT_EQUAL(10, m_spin->GetMax()); //Test backwards ranges m_spin->SetRange(75, 50); CPPUNIT_ASSERT_EQUAL(75, m_spin->GetMin()); CPPUNIT_ASSERT_EQUAL(50, m_spin->GetMax()); }
void SpinCtrlTestCase::NoEventsInCtor() { // Verify that creating the control does not generate any events. This is // unexpected and shouldn't happen. wxWindow* const parent = m_spin->GetParent(); delete m_spin; m_spin = new wxSpinCtrl; EventCounter updatedSpin(m_spin, wxEVT_SPINCTRL); EventCounter updatedText(m_spin, wxEVT_TEXT); m_spin->Create(parent, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, 0, 0, 100, 17); CPPUNIT_ASSERT_EQUAL(0, updatedSpin.GetCount()); CPPUNIT_ASSERT_EQUAL(0, updatedText.GetCount()); }
void SpinCtrlTestCase::Value() { EventCounter updatedSpin(m_spin, wxEVT_SPINCTRL); EventCounter updatedText(m_spin, wxEVT_TEXT); CPPUNIT_ASSERT_EQUAL(0, m_spin->GetValue()); m_spin->SetValue(50); CPPUNIT_ASSERT_EQUAL(50, m_spin->GetValue()); m_spin->SetValue(-10); CPPUNIT_ASSERT_EQUAL(0, m_spin->GetValue()); m_spin->SetValue(110); CPPUNIT_ASSERT_EQUAL(100, m_spin->GetValue()); // Calling SetValue() shouldn't have generated any events. CPPUNIT_ASSERT_EQUAL(0, updatedSpin.GetCount()); CPPUNIT_ASSERT_EQUAL(0, updatedText.GetCount()); }
void SpinCtrlDoubleTestCase::Value() { EventCounter updatedSpin(m_spin, wxEVT_SPINCTRLDOUBLE); EventCounter updatedText(m_spin, wxEVT_TEXT); m_spin->SetDigits(2); m_spin->SetIncrement(0.1); CPPUNIT_ASSERT_EQUAL(0.0, m_spin->GetValue()); m_spin->SetValue(50.0); CPPUNIT_ASSERT_EQUAL(50.0, m_spin->GetValue()); m_spin->SetValue(49.1); CPPUNIT_ASSERT_EQUAL(49.1, m_spin->GetValue()); // Calling SetValue() shouldn't have generated any events. CPPUNIT_ASSERT_EQUAL(0, updatedSpin.GetCount()); CPPUNIT_ASSERT_EQUAL(0, updatedText.GetCount()); }