Ajout du programme note en POO

- Code fonctionnel
- Tests unitaires
This commit is contained in:
Tanguy Herbron 2018-11-30 17:32:32 +01:00
parent 683e48466e
commit 4c1e6530b3
43 changed files with 1471 additions and 0 deletions

13
ENSIM/Java/POOtpnote/.idea/compiler.xml generated Normal file
View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<annotationProcessing>
<profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
<outputRelativeToContentRoot value="true" />
<module name="POOtpnote" />
</profile>
</annotationProcessing>
</component>
</project>

14
ENSIM/Java/POOtpnote/.idea/misc.xml generated Normal file
View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="MavenProjectsManager">
<option name="originalFiles">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
</list>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

124
ENSIM/Java/POOtpnote/.idea/uiDesigner.xml generated Normal file
View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

6
ENSIM/Java/POOtpnote/.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../../.." vcs="Git" />
</component>
</project>

661
ENSIM/Java/POOtpnote/.idea/workspace.xml generated Normal file
View File

@ -0,0 +1,661 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="619befff-b456-45da-9393-c820ac461b67" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/.idea/compiler.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/entity/Administrateur.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/entity/Agence.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/entity/Employe.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/entity/Empruntable.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/entity/Emprunteur.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/entity/Entreprise.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/CasqueAvecMicro.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/Clavier.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/Ecran.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/Imprimante.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/PCPortable.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/Router.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/Souris.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/TELPortable.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/UC.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/material/VideoProjecteur.java" afterDir="false" />
</list>
<ignored path="$PROJECT_DIR$/out/" />
<ignored path="$PROJECT_DIR$/target/" />
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FUSProjectUsageTrigger">
<session id="150145526">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.open.time.0" value="1" />
<entry key="project.opened" value="1" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.edit">
<counts>
<entry key="java" value="5767" />
<entry key="xml" value="7" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.edit">
<counts>
<entry key="JAVA" value="5767" />
<entry key="XML" value="7" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.open">
<counts>
<entry key="java" value="56" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.open">
<counts>
<entry key="JAVA" value="56" />
</counts>
</usages-collector>
</session>
</component>
<component name="FileEditorManager">
<leaf>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/test/java/AdministrateurTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="121">
<caret line="76" column="38" lean-forward="true" selection-start-line="76" selection-start-column="38" selection-end-line="76" selection-end-column="38" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Emprunteur.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
<caret line="20" column="29" selection-start-line="20" selection-start-column="29" selection-end-line="20" selection-end-column="29" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#162#163#0" expanded="true" />
<element signature="e#214#215#0" expanded="true" />
<element signature="e#375#376#0" expanded="true" />
<element signature="e#420#421#0" expanded="true" />
<element signature="e#472#473#0" expanded="true" />
<element signature="e#500#501#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/material/UC.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="11" selection-start-line="9" selection-start-column="11" selection-end-line="9" selection-end-column="11" />
<folding>
<element signature="e#140#141#0" expanded="true" />
<element signature="e#173#174#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Empruntable.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
<caret line="12" column="36" selection-start-line="12" selection-start-column="36" selection-end-line="12" selection-end-column="36" />
<folding>
<element signature="e#285#286#0" expanded="true" />
<element signature="e#329#330#0" expanded="true" />
<element signature="e#373#374#0" expanded="true" />
<element signature="e#406#407#0" expanded="true" />
<element signature="e#447#448#0" expanded="true" />
<element signature="e#480#481#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Administrateur.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="230">
<caret line="46" column="19" selection-start-line="46" selection-start-column="19" selection-end-line="46" selection-end-column="19" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2369#2370#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2485#2486#0" expanded="true" />
<element signature="e#2538#2539#0" expanded="true" />
<element signature="e#2610#2611#0" expanded="true" />
<element signature="e#2663#2664#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Agence.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="132">
<caret line="16" column="28" selection-start-line="16" selection-start-column="28" selection-end-line="16" selection-end-column="28" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#325#326#0" expanded="true" />
<element signature="e#356#357#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Entreprise.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="425">
<caret line="25" column="23" selection-start-line="25" selection-start-column="23" selection-end-line="25" selection-end-column="23" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#451#452#0" expanded="true" />
<element signature="e#482#483#0" expanded="true" />
<element signature="e#530#531#0" expanded="true" />
<element signature="e#560#561#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
</leaf>
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Class" />
</list>
</option>
</component>
<component name="FindInProjectRecents">
<findStrings>
<find>trans</find>
</findStrings>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/../../.." />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/pom.xml" />
<option value="$PROJECT_DIR$/src/main/java/Administrateur.java" />
<option value="$PROJECT_DIR$/src/main/java/Employe.java" />
<option value="$PROJECT_DIR$/src/main/java/Agence.java" />
<option value="$PROJECT_DIR$/src/main/java/Entreprise.java" />
<option value="$PROJECT_DIR$/src/main/java/Emprunteur.java" />
<option value="$PROJECT_DIR$/src/main/java/Empruntable.java" />
<option value="$PROJECT_DIR$/src/main/java/materiel/UC.java" />
<option value="$PROJECT_DIR$/src/main/java/entity/Emprunteur.java" />
<option value="$PROJECT_DIR$/src/test/java/EmprunteurTest.java" />
<option value="$PROJECT_DIR$/src/main/java/material/Imprimante.java" />
<option value="$PROJECT_DIR$/src/main/java/material/Router.java" />
<option value="$PROJECT_DIR$/src/main/java/material/UniteCentrale.java" />
<option value="$PROJECT_DIR$/src/main/java/material/CasqueAvecMicro.java" />
<option value="$PROJECT_DIR$/src/main/java/material/Clavier.java" />
<option value="$PROJECT_DIR$/src/main/java/material/Ecran.java" />
<option value="$PROJECT_DIR$/src/main/java/material/PCPortable.java" />
<option value="$PROJECT_DIR$/src/main/java/material/Souris.java" />
<option value="$PROJECT_DIR$/src/main/java/material/TELPortable.java" />
<option value="$PROJECT_DIR$/src/main/java/material/VideoProjecteur.java" />
<option value="$PROJECT_DIR$/src/main/java/entity/Entreprise.java" />
<option value="$PROJECT_DIR$/src/main/java/entity/Agence.java" />
<option value="$PROJECT_DIR$/src/main/java/material/UC.java" />
<option value="$PROJECT_DIR$/src/main/java/entity/Empruntable.java" />
<option value="$PROJECT_DIR$/src/test/java/AdministrateurTest.java" />
<option value="$PROJECT_DIR$/src/main/java/entity/Administrateur.java" />
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="-10" />
<option name="width" value="1522" />
<option name="height" value="1932" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<ConfirmationsSetting value="2" id="Add" />
</component>
<component name="ProjectView">
<navigator proportions="" version="1">
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="PackagesPane" />
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
<path>
<item name="POOtpnote" type="b2602c69:ProjectViewProjectNode" />
<item name="POOtpnote" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="POOtpnote" type="b2602c69:ProjectViewProjectNode" />
<item name="POOtpnote" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="POOtpnote" type="b2602c69:ProjectViewProjectNode" />
<item name="POOtpnote" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="POOtpnote" type="b2602c69:ProjectViewProjectNode" />
<item name="POOtpnote" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="POOtpnote" type="b2602c69:ProjectViewProjectNode" />
<item name="POOtpnote" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="entity" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="POOtpnote" type="b2602c69:ProjectViewProjectNode" />
<item name="POOtpnote" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="main" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
<item name="material" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="POOtpnote" type="b2602c69:ProjectViewProjectNode" />
<item name="POOtpnote" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="POOtpnote" type="b2602c69:ProjectViewProjectNode" />
<item name="POOtpnote" type="462c0819:PsiDirectoryNode" />
<item name="src" type="462c0819:PsiDirectoryNode" />
<item name="test" type="462c0819:PsiDirectoryNode" />
<item name="java" type="462c0819:PsiDirectoryNode" />
</path>
</expand>
<select />
</subPane>
</pane>
<pane id="AndroidView" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="com.android.tools.idea.instantapp.provision.ProvisionBeforeRunTaskProvider.myTimeStamp" value="1543595514185" />
</component>
<component name="RecentsManager">
<key name="CreateClassDialog.RecentsKey">
<recent name="" />
</key>
</component>
<component name="RunDashboard">
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
<component name="RunManager" selected="JUnit.AdministrateurTest">
<configuration name="AdministrateurTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="POOtpnote" />
<option name="PACKAGE_NAME" value="" />
<option name="MAIN_CLASS_NAME" value="AdministrateurTest" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<configuration name="EmprunteurTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
<module name="POOtpnote" />
<option name="PACKAGE_NAME" value="" />
<option name="MAIN_CLASS_NAME" value="EmprunteurTest" />
<method v="2">
<option name="Make" enabled="true" />
</method>
</configuration>
<list>
<item itemvalue="JUnit.EmprunteurTest" />
<item itemvalue="JUnit.AdministrateurTest" />
</list>
<recent_temporary>
<list>
<item itemvalue="JUnit.AdministrateurTest" />
<item itemvalue="JUnit.EmprunteurTest" />
</list>
</recent_temporary>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="619befff-b456-45da-9393-c820ac461b67" name="Default Changelist" comment="" />
<created>1543588041957</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1543588041957</updated>
</task>
<servers />
</component>
<component name="TestHistory">
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 17m 39s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 19m 10s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 21m 50s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 25m 10s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 25m 38s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 26m 37s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 27m 11s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 27m 44s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 28m 15s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
<history-entry file="AdministrateurTest - 2018.11.30 at 17h 29m 16s.xml">
<configuration name="AdministrateurTest" configurationId="JUnit" />
</history-entry>
</component>
<component name="TodoView">
<todo-panel id="selected-file">
<is-autoscroll-to-source value="true" />
</todo-panel>
<todo-panel id="all">
<are-packages-shown value="true" />
<is-autoscroll-to-source value="true" />
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="-6" y="-6" width="1513" height="973" extended-state="6" />
<editor active="true" />
<layout>
<window_info id="Designer" order="0" />
<window_info id="UI Designer" order="1" />
<window_info id="Capture Tool" order="2" />
<window_info id="Favorites" order="3" side_tool="true" />
<window_info id="Image Layers" order="4" />
<window_info content_ui="combo" id="Project" order="5" visible="true" weight="0.24948454" />
<window_info id="Structure" order="6" side_tool="true" weight="0.25" />
<window_info anchor="bottom" id="Terminal" order="0" />
<window_info anchor="bottom" id="Event Log" order="1" side_tool="true" />
<window_info anchor="bottom" id="Messages" order="2" weight="0.32897863" />
<window_info anchor="bottom" id="Version Control" order="3" />
<window_info anchor="bottom" id="Message" order="4" />
<window_info anchor="bottom" id="Find" order="5" />
<window_info active="true" anchor="bottom" id="Run" order="6" visible="true" weight="0.32897863" />
<window_info anchor="bottom" id="Debug" order="7" weight="0.4" />
<window_info anchor="bottom" id="Cvs" order="8" weight="0.25" />
<window_info anchor="bottom" id="Inspection" order="9" weight="0.4" />
<window_info anchor="bottom" id="TODO" order="10" weight="0.32897863" />
<window_info anchor="right" id="Capture Analysis" order="0" />
<window_info anchor="right" id="Theme Preview" order="1" />
<window_info anchor="right" id="Palette&#9;" order="2" />
<window_info anchor="right" id="Maven Projects" order="3" />
<window_info anchor="right" id="Palette" order="4" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="5" type="SLIDING" weight="0.4" />
<window_info anchor="right" id="Ant Build" order="6" weight="0.25" />
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="7" weight="0.25" />
</layout>
</component>
<component name="VcsContentAnnotationSettings">
<option name="myLimit" value="2678400000" />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/pom.xml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="255">
<caret line="15" column="31" selection-start-line="15" selection-start-column="31" selection-end-line="15" selection-end-column="31" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Employe.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="34">
<caret line="2" column="13" selection-start-line="2" selection-start-column="13" selection-end-line="2" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/test/java/EmprunteurTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="187">
<caret line="11" column="20" selection-start-line="11" selection-start-column="20" selection-end-line="11" selection-end-column="20" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#326#327#0" expanded="true" />
<element signature="e#363#364#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/UniteCentrale.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="4" selection-start-line="9" selection-start-column="4" selection-end-line="9" selection-end-column="4" />
<folding>
<element signature="e#142#143#0" expanded="true" />
<element signature="e#175#176#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/CasqueAvecMicro.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" column="31" selection-start-line="6" selection-start-column="31" selection-end-line="6" selection-end-column="31" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/Ecran.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" column="19" selection-start-line="6" selection-start-column="19" selection-end-line="6" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/Imprimante.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="8" column="18" selection-start-line="8" selection-start-column="18" selection-end-line="8" selection-end-column="18" />
<folding>
<element signature="e#122#123#0" expanded="true" />
<element signature="e#149#150#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/PCPortable.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" column="26" selection-start-line="6" selection-start-column="26" selection-end-line="6" selection-end-column="26" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/Router.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="136">
<caret line="8" column="18" selection-start-line="8" selection-start-column="18" selection-end-line="8" selection-end-column="18" />
<folding>
<element signature="e#114#115#0" expanded="true" />
<element signature="e#141#142#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/Souris.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" column="22" selection-start-line="6" selection-start-column="22" selection-end-line="6" selection-end-column="22" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/TELPortable.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" column="27" selection-start-line="6" selection-start-column="27" selection-end-line="6" selection-end-column="27" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/VideoProjecteur.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="68">
<caret line="4" column="50" lean-forward="true" selection-start-line="4" selection-start-column="50" selection-end-line="4" selection-end-column="50" />
<folding>
<element signature="e#132#133#0" expanded="true" />
<element signature="e#159#160#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/Clavier.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="102">
<caret line="6" column="23" selection-start-line="6" selection-start-column="23" selection-end-line="6" selection-end-column="23" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Entreprise.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="425">
<caret line="25" column="23" selection-start-line="25" selection-start-column="23" selection-end-line="25" selection-end-column="23" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#451#452#0" expanded="true" />
<element signature="e#482#483#0" expanded="true" />
<element signature="e#530#531#0" expanded="true" />
<element signature="e#560#561#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Agence.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="132">
<caret line="16" column="28" selection-start-line="16" selection-start-column="28" selection-end-line="16" selection-end-column="28" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#325#326#0" expanded="true" />
<element signature="e#356#357#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/material/UC.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="153">
<caret line="9" column="11" selection-start-line="9" selection-start-column="11" selection-end-line="9" selection-end-column="11" />
<folding>
<element signature="e#140#141#0" expanded="true" />
<element signature="e#173#174#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Empruntable.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
<caret line="12" column="36" selection-start-line="12" selection-start-column="36" selection-end-line="12" selection-end-column="36" />
<folding>
<element signature="e#285#286#0" expanded="true" />
<element signature="e#329#330#0" expanded="true" />
<element signature="e#373#374#0" expanded="true" />
<element signature="e#406#407#0" expanded="true" />
<element signature="e#447#448#0" expanded="true" />
<element signature="e#480#481#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Emprunteur.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="340">
<caret line="20" column="29" selection-start-line="20" selection-start-column="29" selection-end-line="20" selection-end-column="29" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#162#163#0" expanded="true" />
<element signature="e#214#215#0" expanded="true" />
<element signature="e#375#376#0" expanded="true" />
<element signature="e#420#421#0" expanded="true" />
<element signature="e#472#473#0" expanded="true" />
<element signature="e#500#501#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/test/java/AdministrateurTest.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="121">
<caret line="76" column="38" lean-forward="true" selection-start-line="76" selection-start-column="38" selection-end-line="76" selection-end-column="38" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/entity/Administrateur.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="230">
<caret line="46" column="19" selection-start-line="46" selection-start-column="19" selection-end-line="46" selection-end-column="19" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#2369#2370#0" expanded="true" />
<element signature="e#2426#2427#0" expanded="true" />
<element signature="e#2485#2486#0" expanded="true" />
<element signature="e#2538#2539#0" expanded="true" />
<element signature="e#2610#2611#0" expanded="true" />
<element signature="e#2663#2664#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
<component name="masterDetails">
<states>
<state key="ProjectJDKs.UI">
<settings>
<last-edited>1.8</last-edited>
<splitter-proportions>
<option name="proportions">
<list>
<option value="0.2" />
</list>
</option>
</splitter-proportions>
</settings>
</state>
</states>
</component>
</project>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4" />

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>fr.ensim.POO-tpnote</groupId>
<artifactId>POO-tpnote</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.3.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,120 @@
package entity;
import java.util.ArrayList;
import java.util.List;
public class Administrateur extends Employe {
public Administrateur(Agence agence, Entreprise entreprise)
{
super(agence, entreprise);
}
//TODO Expliquer le fonctionnement de la méthode en détail
public boolean attribuerMateriel(Empruntable empruntable, Emprunteur emprunteur)
{
if(empruntable.isLimitationPretAuxAgence())
{
if(emprunteur instanceof Agence || emprunteur instanceof Entreprise)
{
return validerTransfertMateriel(empruntable, emprunteur);
}
else
{
System.out.println("Matériel réservé");
}
}
else
{
return validerTransfertMateriel(empruntable, emprunteur);
}
return false;
}
private boolean validerTransfertMateriel(Empruntable empruntable, Emprunteur emprunteur)
{
entreprise.perdreMateriel(empruntable);
return emprunteur.ajouterAuStock(empruntable);
}
public boolean recupererMateriel(Empruntable empruntable, Emprunteur emprunteur)
{
if(emprunteur.perdreMateriel(empruntable))
{
return entreprise.ajouterAuStock(empruntable);
}
return false;
}
public List<Empruntable> stockEntreprise()
{
return entreprise.listeMateriel();
}
public List<Empruntable> stockAgence()
{
return agence.listeMateriel();
}
//TODO Détailler cette méthode
public void transfererMateriel(Emprunteur emprunteurSend, Empruntable empruntable, Emprunteur emprunteurReceive)
{
if(emprunteurSend.listeMateriel().contains(empruntable))
{
if(attribuerMateriel(empruntable, emprunteurReceive))
{
emprunteurSend.perdreMateriel(empruntable);
}
}
}
//TODO Détailler pourquoi passer parmis les employés de l'agence ET de l'entreprise (SS2I)
//TODO Peut-être passer par toutes les agences de l'entreprise ?
public void supprimerMateriel(Empruntable empruntable)
{
entreprise.perdreMateriel(empruntable);
agence.perdreMateriel(empruntable);
for(Employe employe : agence.getEmployes())
{
employe.perdreMateriel(empruntable);
}
for(Employe employe : entreprise.listeEmployes())
{
employe.perdreMateriel(empruntable);
}
}
public void supprimerMaterielDefectueuxEntreprise()
{
supprimerMaterielDefectueuxDe(entreprise);
}
public void supprimerMaterielDefectueuxAgence()
{
supprimerMaterielDefectueuxDe(agence);
}
public void supprimerMaterielDefectueuxAgence(Agence agence)
{
supprimerMaterielDefectueuxDe(agence);
}
private void supprimerMaterielDefectueuxDe(Emprunteur emprunteur)
{
int index = 0;
while(index < emprunteur.listeMateriel().size())
{
if(emprunteur.listeMateriel().get(index).isDefectueux())
{
emprunteur.perdreMateriel(emprunteur.listeMateriel().get(index));
}
index++;
}
}
}

View File

@ -0,0 +1,34 @@
package entity;
import java.util.ArrayList;
import java.util.List;
public class Agence extends Emprunteur {
private List<Employe> employes;
private String nom;
public Agence(String nom)
{
this.nom = nom;
employes = new ArrayList<Employe>();
}
public List<Employe> getEmployes() {
return employes;
}
//TODO Détailler l'ajout de l'ENSEMBLE des stocks
@Override
public List<Empruntable> listeMateriel()
{
List<Empruntable> stock = super.listeMateriel();
for(Employe employe : employes)
{
stock.addAll(employe.listeMateriel());
}
return stock;
}
}

View File

@ -0,0 +1,13 @@
package entity;
public class Employe extends Emprunteur {
protected Agence agence;
protected Entreprise entreprise;
public Employe(Agence agence, Entreprise entreprise)
{
this.agence = agence;
this.entreprise = entreprise;
}
}

View File

@ -0,0 +1,33 @@
package entity;
//TODO Préciser pourquoi un package entity a été créé (héritage du matériel)
public class Empruntable {
private boolean limitationPretAuxAgence;
private boolean defectueux;
public Empruntable() {}
public Empruntable(boolean limitationPretAuxAgence)
{
this.limitationPretAuxAgence = limitationPretAuxAgence;
}
public void declarerDefectueux()
{
defectueux = true;
}
public boolean isDefectueux()
{
return defectueux;
}
public boolean isLimitationPretAuxAgence() {
return limitationPretAuxAgence;
}
public void setLimitationPretAuxAgence(boolean limitationPretAuxAgence) {
this.limitationPretAuxAgence = limitationPretAuxAgence;
}
}

View File

@ -0,0 +1,30 @@
package entity;
import java.util.ArrayList;
import java.util.List;
public class Emprunteur {
private List<Empruntable> stock;
public Emprunteur()
{
stock = new ArrayList<Empruntable>();
}
//TODO Amélioration de la méthode, préciser pourquoi utiliser un boolean plutôt qu'un void
public boolean ajouterAuStock(Empruntable empruntable)
{
return stock.add(empruntable);
}
public List<Empruntable> listeMateriel()
{
return stock;
}
public boolean perdreMateriel(Empruntable empruntable)
{
return stock.remove(empruntable);
}
}

View File

@ -0,0 +1,47 @@
package entity;
import java.util.ArrayList;
import java.util.List;
public class Entreprise extends Emprunteur {
private List<Agence> agences;
private List<Employe> employes;
private String nomEntreprise;
public Entreprise(String nomEntreprise)
{
this.nomEntreprise = nomEntreprise;
agences = new ArrayList<Agence>();
employes = new ArrayList<Employe>();
}
public List<Employe> listeEmployes() {
return employes;
}
public List<Agence> getAgences()
{
return agences;
}
//TODO Détailler l'ajout de l'ENSEMBLE des stocks
@Override
public List<Empruntable> listeMateriel()
{
List<Empruntable> stock = super.listeMateriel();
for(Employe employe : employes)
{
stock.addAll(employe.listeMateriel());
}
for(Agence agence : agences)
{
stock.addAll(agence.listeMateriel());
}
return stock;
}
}

View File

@ -0,0 +1,13 @@
package material;
import entity.Empruntable;
public class CasqueAvecMicro extends Empruntable {
public CasqueAvecMicro() {}
public CasqueAvecMicro(boolean defectueux) {
super(defectueux);
}
}

View File

@ -0,0 +1,13 @@
package material;
import entity.Empruntable;
public class Clavier extends Empruntable {
public Clavier() {}
public Clavier(boolean defectueux) {
super(defectueux);
}
}

View File

@ -0,0 +1,13 @@
package material;
import entity.Empruntable;
public class Ecran extends Empruntable {
public Ecran() {}
public Ecran(boolean defectueux) {
super(defectueux);
}
}

View File

@ -0,0 +1,11 @@
package material;
import entity.Empruntable;
public class Imprimante extends Empruntable {
public Imprimante()
{
super(true);
}
}

View File

@ -0,0 +1,13 @@
package material;
import entity.Empruntable;
public class PCPortable extends Empruntable {
public PCPortable() {}
public PCPortable(boolean defectueux) {
super(defectueux);
}
}

View File

@ -0,0 +1,11 @@
package material;
import entity.Empruntable;
public class Router extends Empruntable {
public Router()
{
super(true);
}
}

View File

@ -0,0 +1,13 @@
package material;
import entity.Empruntable;
public class Souris extends Empruntable {
public Souris() {}
public Souris(boolean defectueux) {
super(defectueux);
}
}

View File

@ -0,0 +1,13 @@
package material;
import entity.Empruntable;
public class TELPortable extends Empruntable {
public TELPortable() {}
public TELPortable(boolean defectueux) {
super(defectueux);
}
}

View File

@ -0,0 +1,13 @@
package material;
import entity.Empruntable;
public class UC extends Empruntable {
public UC() {}
public UC(boolean defectueux) {
super(defectueux);
}
}

View File

@ -0,0 +1,12 @@
package material;
import entity.Empruntable;
public class VideoProjecteur extends Empruntable {
public VideoProjecteur()
{
super(true);
}
}

View File

@ -0,0 +1,169 @@
// Vos imports
import entity.*;
import material.Clavier;
import material.Ecran;
import material.Souris;
import material.UC;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class AdministrateurTest {
Entreprise e;
Agence a1, a2;
Empruntable e1, e2, e3, e4, e5, e6;
Employe admin, emp1, emp2, emp3, emp4;
@Before
public void setUp() throws Exception {
e = new Entreprise("Super Entreprise de l'ENSIM");
a1 = new Agence("Agence du Sud");
a2 = new Agence("Agence du Nord");
e.getAgences().add(a1);
e.getAgences().add(a2);
e1 = new UC(true);
e2 = new Ecran();
e3 = new Souris();
e4 = new Clavier();
e5 = new Clavier();
e6 = new Ecran();
/*
e.ajouterAuStock(e1);
e.ajouterAuStock(e2);
e.ajouterAuStock(e3);
e.ajouterAuStock(e4);
e.ajouterAuStock(e5);
e.ajouterAuStock(e6);
*/
admin = new Administrateur(a1, e);
emp1 = new Employe(a1, e);
emp2 = new Employe(a1, e);
emp3 = new Employe(a2, e);
emp4 = new Employe(a2, e);
a1.getEmployes().add(admin);
a1.getEmployes().add(emp1);
a1.getEmployes().add(emp2);
a2.getEmployes().add(emp3);
a2.getEmployes().add(emp4);
/*
e5.declarerDefectueux();
e6.declarerDefectueux();
*/
}
@Test
public void attribuerMateriel() {
int stockActuel = admin.listeMateriel().size();
((Administrateur) admin).attribuerMateriel(new Ecran(), admin);
Assert.assertEquals("attribuerMateriel: fail", stockActuel + 1, admin.listeMateriel().size());
}
//TODO Détailler modification par rapport au stock entreprise/administrateur (passage d'un stockage chez l'admin à un stockage dans l'entreprise)
@Test
public void recupererMateriel() {
int stockActuel = admin.listeMateriel().size();
emp1.listeMateriel().add(e1);
((Administrateur) admin).recupererMateriel(e1, emp1);
Assert.assertEquals("recupererMateriel: fail", stockActuel + 1, ((Administrateur) admin).stockEntreprise().size());
}
@Test
public void stockEntreprise() {
e.listeMateriel().add(e1);
int stockEntreprise = ((Administrateur) admin).stockEntreprise().size();
Assert.assertEquals("stock entreprise: fail", 1, stockEntreprise);
}
@Test
public void stockAgence() {
a1.listeMateriel().add(e1);
int stockAgence = ((Administrateur) admin).stockAgence().size();
Assert.assertEquals("stock agence de l'admin: fail", 1, stockAgence);
}
@Test
public void transfererMateriel_envoyeurNaPasObjetTransfere() {
int stockEmp2 = emp2.listeMateriel().size();
((Administrateur) admin).transfererMateriel(emp1, e2, emp2);
Assert.assertEquals("transfererMateriel (envoyeur n'a pas l'objet transféré): fail", stockEmp2, emp2.listeMateriel().size());
}
@Test
public void transfererMateriel_envoyeurAObjectMaisReserveAgence() {
int stockEmp2 = emp2.listeMateriel().size();
a1.listeMateriel().add(e1);
((Administrateur) admin).transfererMateriel(a1, e1, emp2);
Assert.assertEquals("transfererMateriel (envoyeur a l'objet mais transfert réservé agences): fail", stockEmp2, emp2.listeMateriel().size());
}
@Test
public void transfererMateriel_OK() {
int stockEmp2 = emp2.listeMateriel().size();
emp1.listeMateriel().add(e2);
((Administrateur) admin).transfererMateriel(emp1, e2, emp2);
Assert.assertEquals("transfererMateriel (transfert OK): fail", stockEmp2 + 1, emp2.listeMateriel().size());
}
@Test
public void supprimerMaterielDefectueuxEntreprise_sansMaterielDefectueux() {
e.listeMateriel().add(e4);
e.listeMateriel().add(e5);
int stockE = e.listeMateriel().size();
((Administrateur) admin).supprimerMaterielDefectueuxEntreprise();
Assert.assertEquals("supprimerMaterielDefectueuxEntreprise_sansMaterielDefectueux: fail", stockE, e.listeMateriel().size());
}
@Test
public void supprimerMaterielDefectueuxEntreprise_avecMaterielDefectueux() {
e.listeMateriel().add(e4);
e.listeMateriel().add(e5);
e5.declarerDefectueux();
int stockE = e.listeMateriel().size();
((Administrateur) admin).supprimerMaterielDefectueuxEntreprise();
Assert.assertEquals("supprimerMaterielDefectueuxEntreprise_avecMaterielDefectueux: fail", stockE - 1, e.listeMateriel().size());
for (Empruntable e : e.listeMateriel()) {
Assert.assertEquals("supprimerMaterielDefectueuxEntreprise_avecMaterielDefectueux: fail car il reste un Empruntable defectueux", false, e.isDefectueux());
}
}
@Test
public void supprimerMaterielDefectueuxAgence_sansMaterielDefectueux() {
a1.listeMateriel().add(e4);
a1.listeMateriel().add(e5);
int stockA1 = a1.listeMateriel().size();
((Administrateur) admin).supprimerMaterielDefectueuxAgence();
Assert.assertEquals("supprimerMaterielDefectueuxAgence_sansMaterielDefectueux: fail", stockA1, a1.listeMateriel().size());
}
@Test
public void supprimerMaterielDefectueuxAgence_avecMaterielDefectueux() {
a1.listeMateriel().add(e4);
a1.listeMateriel().add(e5);
e5.declarerDefectueux();
int stockA1 = a1.listeMateriel().size();
((Administrateur) admin).supprimerMaterielDefectueuxAgence();
Assert.assertEquals("supprimerMaterielDefectueuxAgence_avecMaterielDefectueux: fail", stockA1 - 1, a1.listeMateriel().size());
for (Empruntable e : a1.listeMateriel()) {
Assert.assertEquals("supprimerMaterielDefectueuxAgence_avecMaterielDefectueux: fail car il reste un Empruntable defectueux", false, e.isDefectueux());
}
}
}

View File

@ -0,0 +1,54 @@
// Vos imports ici
import entity.Empruntable;
import entity.Emprunteur;
import material.UC;
import org.junit.Assert;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import java.util.ArrayList;
//TODO Ajouter Log4J
public class EmprunteurTest {
static Emprunteur e1;
//TODO Passage de @Before à @BeforeAll + passage de la méthode en static
@BeforeAll
public static void setUp() {
e1 = new Emprunteur();
}
@Test
public void ajouterAuStock() {
int stock = e1.listeMateriel().size();
e1.ajouterAuStock(new UC());
Assert.assertEquals("ajouterAuStock: fail", stock+1, e1.listeMateriel().size());
}
//TODO Expliquer la modifification du test unitaire
@Test
public void listeMateriel() {
//e1.stock = new ArrayList<Empruntable>();
int stock = e1.listeMateriel().size();
//e1.stock.add(new UC());
e1.ajouterAuStock(new UC());
int newStock = e1.listeMateriel().size();
Assert.assertEquals("listeMateriel: fail", stock+1, newStock);
}
@Test
public void perdreMateriel() {
Empruntable emprunt1 = new UC();
e1.listeMateriel().add(emprunt1);
boolean result = e1.perdreMateriel(emprunt1);
Assert.assertEquals("perdreMateriel: méthode fail", true, result);
Assert.assertEquals("perdreMateriel: taille fail", 0, e1.listeMateriel().size());
}
}

Binary file not shown.