Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

DefaultFieldGroupFieldFactoryTest.java 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /*
  2. * Copyright 2000-2016 Vaadin Ltd.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License"); you may not
  5. * use this file except in compliance with the License. You may obtain a copy of
  6. * the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  12. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  13. * License for the specific language governing permissions and limitations under
  14. * the License.
  15. */
  16. package com.vaadin.v7.data.fieldgroup;
  17. import static org.junit.Assert.assertEquals;
  18. import static org.junit.Assert.assertNotNull;
  19. import static org.junit.Assert.assertTrue;
  20. import java.lang.reflect.Constructor;
  21. import java.util.Date;
  22. import org.junit.Before;
  23. import org.junit.Test;
  24. import com.vaadin.v7.ui.AbstractSelect;
  25. import com.vaadin.v7.ui.ComboBox;
  26. import com.vaadin.v7.ui.DateField;
  27. import com.vaadin.v7.ui.Field;
  28. import com.vaadin.v7.ui.InlineDateField;
  29. import com.vaadin.v7.ui.ListSelect;
  30. import com.vaadin.v7.ui.PopupDateField;
  31. import com.vaadin.v7.ui.TextField;
  32. public class DefaultFieldGroupFieldFactoryTest {
  33. private DefaultFieldGroupFieldFactory fieldFactory;
  34. @Before
  35. public void setupFieldFactory() {
  36. fieldFactory = DefaultFieldGroupFieldFactory.get();
  37. }
  38. @Test
  39. public void noPublicConstructor() {
  40. Class<DefaultFieldGroupFieldFactory> clazz = DefaultFieldGroupFieldFactory.class;
  41. Constructor<?>[] constructors = clazz.getConstructors();
  42. assertEquals(
  43. "DefaultFieldGroupFieldFactory contains public constructors", 0,
  44. constructors.length);
  45. }
  46. @Test
  47. public void testSameInstance() {
  48. DefaultFieldGroupFieldFactory factory1 = DefaultFieldGroupFieldFactory
  49. .get();
  50. DefaultFieldGroupFieldFactory factory2 = DefaultFieldGroupFieldFactory
  51. .get();
  52. assertTrue(
  53. "DefaultFieldGroupFieldFactory.get() method returns different instances",
  54. factory1 == factory2);
  55. assertNotNull("DefaultFieldGroupFieldFactory.get() method returns null",
  56. factory1);
  57. }
  58. @Test
  59. public void testDateGenerationForPopupDateField() {
  60. Field f = fieldFactory.createField(Date.class, DateField.class);
  61. assertNotNull(f);
  62. assertEquals(PopupDateField.class, f.getClass());
  63. }
  64. @Test
  65. public void testDateGenerationForInlineDateField() {
  66. Field f = fieldFactory.createField(Date.class, InlineDateField.class);
  67. assertNotNull(f);
  68. assertEquals(InlineDateField.class, f.getClass());
  69. }
  70. @Test
  71. public void testDateGenerationForTextField() {
  72. Field f = fieldFactory.createField(Date.class, TextField.class);
  73. assertNotNull(f);
  74. assertEquals(TextField.class, f.getClass());
  75. }
  76. @Test
  77. public void testDateGenerationForField() {
  78. Field f = fieldFactory.createField(Date.class, Field.class);
  79. assertNotNull(f);
  80. assertEquals(PopupDateField.class, f.getClass());
  81. }
  82. public enum SomeEnum {
  83. FOO, BAR;
  84. }
  85. @Test
  86. public void testEnumComboBox() {
  87. Field f = fieldFactory.createField(SomeEnum.class, ComboBox.class);
  88. assertNotNull(f);
  89. assertEquals(ComboBox.class, f.getClass());
  90. }
  91. @Test
  92. public void testEnumAnySelect() {
  93. Field f = fieldFactory.createField(SomeEnum.class,
  94. AbstractSelect.class);
  95. assertNotNull(f);
  96. assertEquals(ListSelect.class, f.getClass());
  97. }
  98. @Test
  99. public void testEnumAnyField() {
  100. Field f = fieldFactory.createField(SomeEnum.class, Field.class);
  101. assertNotNull(f);
  102. assertEquals(ListSelect.class, f.getClass());
  103. }
  104. }