Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Palautus #161

Closed
wants to merge 12 commits into from
Empty file added GävertJuho/viikko1
Empty file.
Empty file added GävertJuho/viikko2
Empty file.
Empty file added GävertJuho/viikko3
Empty file.
Empty file added GävertJuho/viikko4
Empty file.
Empty file added GävertJuho/viikko5
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

public class Main {
public static void main(String[] args) {
Statistics stats = new Statistics();
Statistics stats = new Statistics( new PlayerReader("http://nhlstatistics.herokuapp.com/players.txt") );
//Statistics stats = new Statistics();

System.out.println("Philadelphia Flyers");
for (Player player : stats.team("PHI") ) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import java.util.List;
import java.util.Scanner;

public class PlayerReader {
public class PlayerReader implements Reader {

private Scanner scanner;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package ohtuesimerkki;

import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public interface Reader {
public List<Player> getPlayers();
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ public class Statistics {

private List<Player> players;

public Statistics() {
PlayerReader reader = new PlayerReader("http://nhlstatistics.herokuapp.com/players.txt");
public Statistics(Reader reader) {
//Reader reader = new PlayerReader("http://nhlstatistics.herokuapp.com/players.txt");
players = reader.getPlayers();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
package ohtuesimerkki;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

/**
* Created by IntelliJ IDEA.
* User: juho
* Date: 3/25/12
* Time: 7:35 PM
*/
public class StatisticsTest {
Statistics stats;
Reader readerStub = new Reader() {

public List<Player> getPlayers() {
ArrayList<Player> players = new ArrayList<Player>();

players.add(new Player("Semenko", "EDM", 4, 12));
players.add(new Player("Lemieux", "PIT", 45, 54));
players.add(new Player("Kurri", "EDM", 37, 53));
players.add(new Player("Yzerman", "DET", 42, 56));
players.add(new Player("Gretzky", "EDM", 35, 89));

return players;
}
};

@Before
public void setUp() {
stats = new Statistics(readerStub);
}

@Test
public void luettiinkoMitaan()
{
Assert.assertEquals(stats.team("EDM").size(), 3);
}

@Test
public void loytyykoPelaaja()
{
Assert.assertEquals(stats.search("Lemieux").getName(), "Lemieux");
}

@Test
public void eiPitaisiLoytyakkaan()
{
Assert.assertEquals(stats.search("foobar"), null);
}

@Test
public void tahtiPelaajiaLoytyy()
{
Assert.assertEquals(stats.topScorers(4).size(), 5);
}


@Test
public void tahtiPelaajiaLoytyyLiianVahan()
{
Assert.assertEquals(stats.topScorers(3).size(), 4);
}

@Test
public void tahtiPelaajiaLoytyyYhtaan()
{
Assert.assertEquals(stats.topScorers(-1).size(), 0);
}


}
15 changes: 10 additions & 5 deletions laskari2/Verkkokauppa1/src/main/java/ohtu/Main.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
package ohtu;

import ohtu.verkkokauppa.Kauppa;
import ohtu.verkkokauppa.Kirjanpito;
import ohtu.verkkokauppa.*;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public class Main {

public static void main(String[] args) {
Kauppa kauppa = new Kauppa();

ApplicationContext ctx = new FileSystemXmlApplicationContext("src/main/resources/spring-context.xml");
//Kirjanpito kirjanpito = new Kirjanpito_laMaestro();
//Kauppa kauppa = new Kauppa(new Varasto_Espoo(kirjanpito), new Pankki_Nordea(kirjanpito), new ViitegeneraattoriDeluxe() );
//Kauppa kauppa = new Kauppa();
Kauppa kauppa = ctx.getBean(Kauppa.class);
Kirjanpito kirjanpito = ctx.getBean(Kirjanpito_laMaestro.class);
// kauppa hoitaa yhden asiakkaan kerrallaan seuraavaan tapaan:
kauppa.aloitaAsiointi();
kauppa.lisaaKoriin(1);
Expand All @@ -25,7 +30,7 @@ public static void main(String[] args) {
kauppa.tilimaksu("Arto Vihavainen", "3425-1652");

// kirjanpito
for (String tapahtuma : Kirjanpito.getInstance().getTapahtumat()) {
for (String tapahtuma : kirjanpito.getTapahtumat()) {
System.out.println(tapahtuma);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package ohtu.verkkokauppa;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;


public class Kauppa {

private Varasto varasto;
Expand All @@ -8,10 +12,10 @@ public class Kauppa {
private Viitegeneraattori viitegeneraattori;
private String kaupanTili;

public Kauppa() {
varasto = Varasto.getInstance();
pankki = Pankki.getInstance();
viitegeneraattori = Viitegeneraattori.getInstance();
public Kauppa(Varasto varasto, Pankki pankki, Viitegeneraattori viitegeneraattori) {
this.varasto = varasto;
this.pankki = pankki;
this.viitegeneraattori = viitegeneraattori;
kaupanTili = "33333-44455";
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,9 @@

import java.util.ArrayList;

public class Kirjanpito {
private static Kirjanpito instance;

public static Kirjanpito getInstance() {
if ( instance==null) {
instance = new Kirjanpito();
}

return instance;
}

private ArrayList<String> tapahtumat;
public interface Kirjanpito {

public Kirjanpito() {
tapahtumat = new ArrayList<String>();
}

public void lisaaTapahtuma(String tapahtuma) {
tapahtumat.add(tapahtuma);
}
public void lisaaTapahtuma(String tapahtuma);

public ArrayList<String> getTapahtumat() {
return tapahtumat;
}
public ArrayList<String> getTapahtumat();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package ohtu.verkkokauppa;

import org.springframework.stereotype.Component;

import java.util.ArrayList;

/**
* Created by IntelliJ IDEA.
* User: juho
* Date: 3/25/12
* Time: 8:45 PM
* To change this template use File | Settings | File Templates.
*/



public class Kirjanpito_laMaestro implements Kirjanpito {

private ArrayList<String> tapahtumat;

public Kirjanpito_laMaestro() {
tapahtumat = new ArrayList<String>();
}

public void lisaaTapahtuma(String tapahtuma) {
tapahtumat.add(tapahtuma);
}

public ArrayList<String> getTapahtumat() {
return tapahtumat;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package ohtu.verkkokauppa;

import org.springframework.stereotype.Component;

import java.util.ArrayList;

public class Ostoskori {
Expand Down
25 changes: 2 additions & 23 deletions laskari2/Verkkokauppa1/src/main/java/ohtu/verkkokauppa/Pankki.java
Original file line number Diff line number Diff line change
@@ -1,27 +1,6 @@
package ohtu.verkkokauppa;

public class Pankki {
public interface Pankki {

private static Pankki instanssi;

public static Pankki getInstance() {
if (instanssi == null) {
instanssi = new Pankki();
}

return instanssi;
}
private Kirjanpito kirjanpito;

public Pankki() {
kirjanpito = Kirjanpito.getInstance();
}

public boolean tilisiirto(String nimi, int viitenumero, String tililta, String tilille, int summa) {
kirjanpito.lisaaTapahtuma("tilisiirto: tililtä " + tilille + " tilille " + tilille
+ " viite " + viitenumero + " summa " + summa + "e");

// täällä olisi koodi joka ottaa yhteyden pankin verkkorajapintaan
return true;
}
public boolean tilisiirto(String nimi, int viitenumero, String tililta, String tilille, int summa);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package ohtu.verkkokauppa;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
* Created by IntelliJ IDEA.
* User: juho
* Date: 3/25/12
* Time: 8:40 PM
* To change this template use File | Settings | File Templates.
*/


public class Pankki_Nordea implements Pankki {

private Kirjanpito kirjanpito;

public Pankki_Nordea(Kirjanpito kirjanpito) {
this.kirjanpito = kirjanpito;
}

public boolean tilisiirto(String nimi, int viitenumero, String tililta, String tilille, int summa) {
kirjanpito.lisaaTapahtuma("tilisiirto: tililtä " + tilille + " tilille " + tilille
+ " viite " + viitenumero + " summa " + summa + "e");

// täällä olisi koodi joka ottaa yhteyden pankin verkkorajapintaan
return true;
}

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@

package ohtu.verkkokauppa;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

public class Tuote {
private int id;
private String nimi;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,14 @@

import java.util.*;

public class Varasto {
public interface Varasto {

public Tuote haeTuote(int id);

private static Varasto instanssi;
public int saldo(int id);

public static Varasto getInstance() {
if (instanssi == null) {
instanssi = new Varasto();
}
public void otaVarastosta(Tuote t);

return instanssi;
}

private Kirjanpito kirjanpito;
private HashMap<Tuote, Integer> saldot;

private Varasto() {
kirjanpito = Kirjanpito.getInstance();
saldot = new HashMap<Tuote, Integer>();
alustaTuotteet();
}

public Tuote haeTuote(int id){
for (Tuote t : saldot.keySet()) {
if ( t.getId()==id) return t;
}

return null;
}
public void palautaVarastoon(Tuote t);

public int saldo(int id){
return saldot.get(haeTuote(id));
}

public void otaVarastosta(Tuote t){
saldot.put(t, saldo(t.getId())-1 );
kirjanpito.lisaaTapahtuma("otettiin varastosta "+t);
}

public void palautaVarastoon(Tuote t){
saldot.put(t, saldo(t.getId())+1 );
kirjanpito.lisaaTapahtuma("palautettiin varastoon "+t);
}

private void alustaTuotteet() {
saldot.put(new Tuote(1, "Koff Portteri", 3), 100);
saldot.put(new Tuote(2, "Fink Bräu I", 1), 25);
saldot.put(new Tuote(3, "Sierra Nevada Pale Ale", 5), 30);
saldot.put(new Tuote(4, "Mikkeller not just another Wit", 7), 40);
saldot.put(new Tuote(5, "Weihenstephaner Hefeweisse", 4), 15);
}
}
Loading