Skip to content

Commit

Permalink
Add several model end enumeration unit tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
kaladay committed Jul 13, 2023
1 parent 442e21f commit 5ddf9ba
Show file tree
Hide file tree
Showing 50 changed files with 3,658 additions and 0 deletions.
68 changes: 68 additions & 0 deletions src/test/java/org/tdl/vireo/model/ActionLogTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package org.tdl.vireo.model;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.util.Calendar;
import java.util.stream.Stream;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.provider.Arguments;
import org.mockito.InjectMocks;
import org.springframework.test.util.ReflectionTestUtils;

public class ActionLogTest extends AbstractModelTest<ActionLog> {

@InjectMocks
private ActionLog actionLog;

/**
* The getPrivate() does not work via getParameterStream() and is manually tested here.
*
* This may be because the method is called "isPrivateFlag()" rather than "getPrivateFlag()".
*/
@Test
public void testGetSettings() {
boolean value = false;

ReflectionTestUtils.setField(actionLog, "privateFlag", value);

assertEquals(value, actionLog.isPrivateFlag(), GETTER_MESSAGE);
}

/**
* The privateFlag() does not work via setParameterStream() and is manually tested here.
*/
@Test
public void testSetSettings() {
boolean value = false;

// Set the flag to something other than false to confirm setter works.
ReflectionTestUtils.setField(actionLog, "privateFlag", true);

actionLog.setPrivateFlag(value);

assertEquals(value, ReflectionTestUtils.getField(getInstance(), "privateFlag"), SETTER_MESSAGE);
}

@Override
protected ActionLog getInstance() {
return actionLog;
}

protected static Stream<Arguments> provideGetterParameters() {
return getParameterStream();
}

protected static Stream<Arguments> provideSetterParameters() {
return getParameterStream();
}

private static Stream<Arguments> getParameterStream() {
return Stream.of(
Arguments.of("submissionStatus", new SubmissionStatus()),
Arguments.of("user", new User()),
Arguments.of("actionDate", Calendar.getInstance()),
Arguments.of("entry", "value")
);
}

}
36 changes: 36 additions & 0 deletions src/test/java/org/tdl/vireo/model/AddressTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package org.tdl.vireo.model;

import java.util.stream.Stream;
import org.junit.jupiter.params.provider.Arguments;
import org.mockito.InjectMocks;

public class AddressTest extends AbstractModelTest<Address> {

@InjectMocks
private Address address;

@Override
protected Address getInstance() {
return address;
}

protected static Stream<Arguments> provideGetterParameters() {
return getParameterStream();
}

protected static Stream<Arguments> provideSetterParameters() {
return getParameterStream();
}

private static Stream<Arguments> getParameterStream() {
return Stream.of(
Arguments.of("address1", "value"),
Arguments.of("address2", "value"),
Arguments.of("city", "value"),
Arguments.of("state", "value"),
Arguments.of("postalCode", "value"),
Arguments.of("country", "value")
);
}

}
33 changes: 33 additions & 0 deletions src/test/java/org/tdl/vireo/model/ContactInfoTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package org.tdl.vireo.model;

import java.util.stream.Stream;
import org.junit.jupiter.params.provider.Arguments;
import org.mockito.InjectMocks;

public class ContactInfoTest extends AbstractModelTest<ContactInfo> {

@InjectMocks
private ContactInfo contactInfo;

@Override
protected ContactInfo getInstance() {
return contactInfo;
}

protected static Stream<Arguments> provideGetterParameters() {
return getParameterStream();
}

protected static Stream<Arguments> provideSetterParameters() {
return getParameterStream();
}

private static Stream<Arguments> getParameterStream() {
return Stream.of(
Arguments.of("address", new Address()),
Arguments.of("phone", "value"),
Arguments.of("email", "value")
);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package org.tdl.vireo.model;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
import org.junit.jupiter.params.provider.Arguments;
import org.mockito.InjectMocks;

public class ControlledVocabularyCacheTest extends AbstractModelTest<ControlledVocabularyCache> {

@InjectMocks
private ControlledVocabularyCache controlledVocabularyCache;

@Override
protected ControlledVocabularyCache getInstance() {
return controlledVocabularyCache;
}

protected static Stream<Arguments> provideGetterParameters() {
return getParameterStream();
}

protected static Stream<Arguments> provideSetterParameters() {
return getParameterStream();
}

private static Stream<Arguments> getParameterStream() {
List<VocabularyWord> words = new ArrayList<>();
words.add(new VocabularyWord());

List<VocabularyWord[]> wordArrayList = new ArrayList<>();
VocabularyWord[] wordsArray = { new VocabularyWord() };
wordArrayList.add(wordsArray);

return Stream.of(
Arguments.of("timestamp", 123L),
Arguments.of("controlledVocabularyName", "name"),
Arguments.of("newVocabularyWords", words),
Arguments.of("updatingVocabularyWords", wordArrayList),
Arguments.of("duplicateVocabularyWords", words),
Arguments.of("removedVocabularyWords", words)
);
}

}
42 changes: 42 additions & 0 deletions src/test/java/org/tdl/vireo/model/ControlledVocabularyTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package org.tdl.vireo.model;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
import org.junit.jupiter.params.provider.Arguments;
import org.mockito.InjectMocks;

public class ControlledVocabularyTest extends AbstractModelTest<ControlledVocabulary> {

@InjectMocks
private ControlledVocabulary controlledVocabulary;

@Override
protected ControlledVocabulary getInstance() {
return controlledVocabulary;
}

protected static Stream<Arguments> provideGetterParameters() {
return getParameterStream();
}

protected static Stream<Arguments> provideSetterParameters() {
return getParameterStream();
}

private static Stream<Arguments> getParameterStream() {
List<VocabularyWord> dictionary = new ArrayList<>();
VocabularyWord vocabularyWord = new VocabularyWord();

vocabularyWord.setId(1L);
dictionary.add(vocabularyWord);

return Stream.of(
Arguments.of("name", "value"),
//Arguments.of("dictionary", dictionary), // FIXME: This is failing on NPE.
Arguments.of("isEntityProperty", true),
Arguments.of("isEntityProperty", false)
);
}

}
33 changes: 33 additions & 0 deletions src/test/java/org/tdl/vireo/model/CustomActionDefinitionTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package org.tdl.vireo.model;

import java.util.stream.Stream;
import org.junit.jupiter.params.provider.Arguments;
import org.mockito.InjectMocks;

public class CustomActionDefinitionTest extends AbstractModelTest<CustomActionDefinition> {

@InjectMocks
private CustomActionDefinition customActionDefinition;

@Override
protected CustomActionDefinition getInstance() {
return customActionDefinition;
}

protected static Stream<Arguments> provideGetterParameters() {
return getParameterStream();
}

protected static Stream<Arguments> provideSetterParameters() {
return getParameterStream();
}

private static Stream<Arguments> getParameterStream() {
return Stream.of(
Arguments.of("label", "value"),
Arguments.of("isStudentVisible", true),
Arguments.of("isStudentVisible", false)
);
}

}
33 changes: 33 additions & 0 deletions src/test/java/org/tdl/vireo/model/CustomActionValueTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package org.tdl.vireo.model;

import java.util.stream.Stream;
import org.junit.jupiter.params.provider.Arguments;
import org.mockito.InjectMocks;

public class CustomActionValueTest extends AbstractModelTest<CustomActionValue> {

@InjectMocks
private CustomActionValue customActionValue;

@Override
protected CustomActionValue getInstance() {
return customActionValue;
}

protected static Stream<Arguments> provideGetterParameters() {
return getParameterStream();
}

protected static Stream<Arguments> provideSetterParameters() {
return getParameterStream();
}

private static Stream<Arguments> getParameterStream() {
return Stream.of(
Arguments.of("definition", new CustomActionDefinition()),
Arguments.of("value", true),
Arguments.of("value", false)
);
}

}
34 changes: 34 additions & 0 deletions src/test/java/org/tdl/vireo/model/DefaultConfigurationTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package org.tdl.vireo.model;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.util.stream.Stream;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.MethodSource;
import org.mockito.InjectMocks;
import org.springframework.test.util.ReflectionTestUtils;

public class DefaultConfigurationTest {

// Warning: The tests fail here due to strange initialization problems and so an explicit assignment is provided.
@InjectMocks
private DefaultConfiguration defaultConfiguration = new DefaultConfiguration("a", "b", "c");

@ParameterizedTest
@MethodSource("provideGetterParameters")
public void testGetter(String property, Object value) {
ReflectionTestUtils.setField(defaultConfiguration, property, value);

assertEquals(value, ReflectionTestUtils.invokeGetterMethod(defaultConfiguration, property), AbstractModelTest.GETTER_MESSAGE);
}

private static Stream<Arguments> provideGetterParameters() {
return Stream.of(
Arguments.of("name", "value"),
Arguments.of("value", "value"),
Arguments.of("type", "value")
);
}

}
53 changes: 53 additions & 0 deletions src/test/java/org/tdl/vireo/model/DefaultPreferencesTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package org.tdl.vireo.model;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.provider.Arguments;
import org.mockito.InjectMocks;

public class DefaultPreferencesTest extends AbstractModelTest<DefaultPreferences> {

@InjectMocks
private DefaultPreferences defaultPreferences;

@Test
public void testDefaultPreferencesInstantiation() {
List<DefaultConfiguration> preferences = new ArrayList<>();
preferences.add(new DefaultConfiguration("name", "value", "type"));

defaultPreferences.setPreferences(preferences);
defaultPreferences.setType("type");

DefaultPreferences newDefaultPreferences = new DefaultPreferences(defaultPreferences.getType(), defaultPreferences.getPreferences());

assertEquals(newDefaultPreferences.getPreferences(), defaultPreferences.getPreferences(), "Preferences does not match.");
assertEquals(newDefaultPreferences.getType(), defaultPreferences.getType(), "Type does not match.");
}

@Override
protected DefaultPreferences getInstance() {
return defaultPreferences;
}

protected static Stream<Arguments> provideGetterParameters() {
return getParameterStream();
}

protected static Stream<Arguments> provideSetterParameters() {
return getParameterStream();
}

private static Stream<Arguments> getParameterStream() {
List<DefaultConfiguration> preferences = new ArrayList<>();

return Stream.of(
Arguments.of("preferences", preferences),
Arguments.of("type", "value")
);
}

}
Loading

0 comments on commit 5ddf9ba

Please sign in to comment.