// Path: src/hk/reality/stock/model/Stock.java
// public class Stock implements Serializable {
// 	private static final long serialVersionUID = -6452165113616479803L;
// 	private String name;
// 	private String quote;
//     private StockDetail detail; 
// 
//     /**
//      * @return the quote
//      */
//     public String getQuote() {
//         return quote;
//     }
// 
//     /**
//      * @param quote
//      *            the quote to set
//      */
//     public void setQuote(String quote) {
//         this.quote = quote;
//     }
// 
//     /**
//      * @return the detail
//      */
//     public StockDetail getDetail() {
//         return detail;
//     }
// 
//     /**
//      * @param detail the detail to set
//      */
//     public void setDetail(StockDetail detail) {
//         this.detail = detail;
//     }
// 
//     /**
//      * @return the name
//      */
//     public String getName() {
//         return name;
//     }
// 
//     /**
//      * @param name the name to set
//      */
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     /* (non-Javadoc)
//      * @see java.lang.Object#hashCode()
//      */
//     @Override
//     public int hashCode() {
//         final int prime = 31;
//         int result = 1;
//         result = prime * result + ((quote == null) ? 0 : quote.hashCode());
//         return result;
//     }
// 
//     /* (non-Javadoc)
//      * @see java.lang.Object#equals(java.lang.Object)
//      */
//     @Override
//     public boolean equals(Object obj) {
//         if (this == obj)
//             return true;
//         if (obj == null)
//             return false;
//         if (getClass() != obj.getClass())
//             return false;
//         Stock other = (Stock) obj;
//         if (quote == null) {
//             if (other.quote != null)
//                 return false;
//         } else if (!quote.equals(other.quote))
//             return false;
//         return true;
//     }
// }
// 
// Path: src/hk/reality/stock/service/Lang.java
// public enum Lang {
//     ENG, CHI
// }


import hk.reality.stock.model.Stock;
import hk.reality.stock.service.Lang;
import junit.framework.Assert;
import junit.framework.TestCase;
package hk.reality.stock.service.searcher;


public class HkexStockSearcherTest extends TestCase {
    HkexStockSearcher searcher;
    
    protected void setUp() throws Exception {
        searcher = new HkexStockSearcher(Lang.CHI);
    }

    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public void testSearchStock() {
        Stock stock5 = searcher.searchStock("00005");
        Assert.assertNotNull(stock5);
        Assert.assertNotNull(stock5.getName());
        Assert.assertNotNull(stock5.getQuote());
        Assert.assertEquals("5", stock5.getQuote());

        searcher.setLanguage(Lang.ENG);
// Path: src/hk/reality/stock/model/Stock.java
// public class Stock implements Serializable {
// 	private static final long serialVersionUID = -6452165113616479803L;
// 	private String name;
// 	private String quote;
//     private StockDetail detail; 
// 
//     /**
//      * @return the quote
//      */
//     public String getQuote() {
//         return quote;
//     }
// 
//     /**
//      * @param quote
//      *            the quote to set
//      */
//     public void setQuote(String quote) {
//         this.quote = quote;
//     }
// 
//     /**
//      * @return the detail
//      */
//     public StockDetail getDetail() {
//         return detail;
//     }
// 
//     /**
//      * @param detail the detail to set
//      */
//     public void setDetail(StockDetail detail) {
//         this.detail = detail;
//     }
// 
//     /**
//      * @return the name
//      */
//     public String getName() {
//         return name;
//     }
// 
//     /**
//      * @param name the name to set
//      */
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     /* (non-Javadoc)
//      * @see java.lang.Object#hashCode()
//      */
//     @Override
//     public int hashCode() {
//         final int prime = 31;
//         int result = 1;
//         result = prime * result + ((quote == null) ? 0 : quote.hashCode());
//         return result;
//     }
// 
//     /* (non-Javadoc)
//      * @see java.lang.Object#equals(java.lang.Object)
//      */
//     @Override
//     public boolean equals(Object obj) {
//         if (this == obj)
//             return true;
//         if (obj == null)
//             return false;
//         if (getClass() != obj.getClass())
//             return false;
//         Stock other = (Stock) obj;
//         if (quote == null) {
//             if (other.quote != null)
//                 return false;
//         } else if (!quote.equals(other.quote))
//             return false;
//         return true;
//     }
// }
// 
// Path: src/hk/reality/stock/service/Lang.java
// public enum Lang {
//     ENG, CHI
// }


// Path: tests/src/hk/reality/stock/service/searcher/HkexStockSearcherTest.java
import hk.reality.stock.model.Stock;
import hk.reality.stock.service.Lang;
import junit.framework.Assert;
import junit.framework.TestCase;

package hk.reality.stock.service.searcher;


public class HkexStockSearcherTest extends TestCase {
    HkexStockSearcher searcher;
    
    protected void setUp() throws Exception {
        searcher = new HkexStockSearcher(Lang.CHI);
    }

    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public void testSearchStock() {
        Stock stock5 = searcher.searchStock("00005");
        Assert.assertNotNull(stock5);
        Assert.assertNotNull(stock5.getName());
        Assert.assertNotNull(stock5.getQuote());
        Assert.assertEquals("5", stock5.getQuote());

        searcher.setLanguage(Lang.ENG);
        Stock stock8 = searcher.searchStock("8");