// $Id$
//
// Copyright 2007-2008 Cisco Systems Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy
// of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations
// under the License.
using System;
using etch.examples.perf.types.Perf;
using Etch.Support;
using Etch.Util;
using NUnit.Framework;
namespace etch.examples.perf
{
///
/// Unit Tests to test Perf
///
///
[TestFixture]
public class TestPerfServer
{
private static RemotePerfServer server;
private static Transport listener;
[TestFixtureSetUp]
public void StartListener()
{
String uri = "tcp://localhost:4010";
MainPerfListener implFactory = new MainPerfListener();
listener = PerfHelper.NewListener(uri, null, implFactory);
listener.TransportControl(TransportConsts.START_AND_WAIT_UP, 4000);
Console.WriteLine("Listener Started");
}
[SetUp]
public void MakeConnection()
{
String uri = "tcp://localhost:4010";
MainPerfClient client = new MainPerfClient();
server = PerfHelper.NewServer(uri, null, client);
server._StartAndWaitUp(4000);
}
[Test]
public void CheckConnection()
{
Assert.IsNotNull(server);
}
[Test]
public void TestAdd()
{
int? result = server.add(3, 5);
Assert.AreEqual(8, result);
}
[Test]
public void TestAdd2()
{
DateTime? d = DateTime.Now;
long? ms = 1000;
DateTime? expectedDate = d.Value + new TimeSpan(ms.Value * 10000);
DateTime? retDate = server.add2(d, ms);
Assert.AreEqual(expectedDate.Value.ToString(), retDate.Value.ToString());
}
[Test]
public void TestSum()
{
int[] a = { 1, 2, 3 };
int? result = server.sum(a);
Assert.AreEqual(6, result);
}
[Test]
public void TestDistance()
{
Point a = new Point(2, 3);
Point b = new Point(4, 5);
Point result = server.dist(a, b);
Assert.AreEqual(2, result.x);
Assert.AreEqual(2, result.y);
}
[TearDown]
public void CloseConnection()
{
if (server != null)
{
server._Stop();
}
}
[TestFixtureTearDown]
public void StopListener()
{
if (listener != null)
{
listener.TransportControl(TransportConsts.STOP_AND_WAIT_DOWN, 4000);
listener = null;
}
}
}
}