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

@ -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

@ -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

@ -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

@ -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

@ -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>

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

@ -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>

@ -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++;
}
}
}

@ -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;
}
}

@ -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;
}
}

@ -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;
}
}

@ -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);
}
}

@ -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;
}
}

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

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

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

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

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

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

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

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

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

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

@ -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());
}
}
}

@ -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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.