123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- using Application.ATG_Classic_App;
- using Application.ATG_Classic_App.Model;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading.Tasks;
- namespace Application.ATG_Classic_App_Test
- {
- [TestClass]
- public class HeightToVolumeCaculator_Test
- {
- [TestMethod]
- public async Task Exact_TestMethod1()
- {
- var caculator = new HeightToVolumeCaculator(new[] {
- new TankProfileData()
- {
- Height = 0,
- Volume = 0,
- },
- new TankProfileData()
- {
- Height = 10,
- Volume = 30,
- },
- new TankProfileData()
- {
- Height = 20,
- Volume = 100,
- },
- new TankProfileData()
- {
- Height = 30,
- Volume = 200,
- },
- });
- Assert.AreEqual(0, caculator.GetVolume(0));
- Assert.AreEqual(30, caculator.GetVolume(10));
- Assert.AreEqual(100, caculator.GetVolume(20));
- Assert.AreEqual(200, caculator.GetVolume(30));
- }
- [TestMethod]
- public async Task Midpoint_PreferNearest_And_MidpointCeiling_TestMethod1()
- {
- var caculator = new HeightToVolumeCaculator(new[] {
- new TankProfileData(){
- Height = 1,
- Volume = 1,
- },
- new TankProfileData(){
- Height = 10,
- Volume = 30,
- },
- new TankProfileData(){
- Height = 20,
- Volume = 100,
- },
- new TankProfileData(){
- Height = 30,
- Volume = 200,
- },
- });
- Assert.AreEqual(1, caculator.GetVolume(1));
- Assert.AreEqual(1, caculator.GetVolume(2));
- Assert.AreEqual(1, caculator.GetVolume(3));
- Assert.AreEqual(1, caculator.GetVolume(4));
- Assert.AreEqual(1, caculator.GetVolume(5));
- Assert.AreEqual(30, caculator.GetVolume(6));
- Assert.AreEqual(30, caculator.GetVolume(7));
- Assert.AreEqual(30, caculator.GetVolume(8));
- Assert.AreEqual(30, caculator.GetVolume(9));
- Assert.AreEqual(30, caculator.GetVolume(10));
- Assert.AreEqual(30, caculator.GetVolume(11));
- Assert.AreEqual(30, caculator.GetVolume(12));
- Assert.AreEqual(30, caculator.GetVolume(13));
- Assert.AreEqual(30, caculator.GetVolume(14));
- Assert.AreEqual(100, caculator.GetVolume(15));
- Assert.AreEqual(100, caculator.GetVolume(16));
- Assert.AreEqual(100, caculator.GetVolume(17));
- Assert.AreEqual(100, caculator.GetVolume(18));
- Assert.AreEqual(100, caculator.GetVolume(19));
- Assert.AreEqual(100, caculator.GetVolume(20));
- Assert.AreEqual(100, caculator.GetVolume(21));
- Assert.AreEqual(100, caculator.GetVolume(22));
- Assert.AreEqual(100, caculator.GetVolume(23));
- Assert.AreEqual(100, caculator.GetVolume(24));
- Assert.AreEqual(200, caculator.GetVolume(25));
- Assert.AreEqual(200, caculator.GetVolume(30));
- Assert.AreEqual(200, caculator.GetVolume(9999));
- }
- [TestMethod]
- public async Task Midpoint_PreferCeiling_TestMethod1()
- {
- var caculator = new HeightToVolumeCaculator(new[] {
- new TankProfileData(){
- Height = 0,
- Volume = 0,
- },
- new TankProfileData(){
- Height = 10,
- Volume = 30,
- },
- new TankProfileData(){
- Height = 20,
- Volume = 100,
- },
- new TankProfileData(){
- Height = 30,
- Volume = 200,
- },
- });
- caculator.EstimateMode = HeightToVolumeCaculator.Mode.PreferCeiling;
- Assert.AreEqual(0, caculator.GetVolume(0));
- Assert.AreEqual(30, caculator.GetVolume(1));
- Assert.AreEqual(30, caculator.GetVolume(2));
- Assert.AreEqual(30, caculator.GetVolume(3));
- Assert.AreEqual(30, caculator.GetVolume(4));
- Assert.AreEqual(30, caculator.GetVolume(5));
- Assert.AreEqual(30, caculator.GetVolume(6));
- Assert.AreEqual(30, caculator.GetVolume(7));
- Assert.AreEqual(30, caculator.GetVolume(8));
- Assert.AreEqual(30, caculator.GetVolume(9));
- Assert.AreEqual(30, caculator.GetVolume(10));
- Assert.AreEqual(100, caculator.GetVolume(11));
- Assert.AreEqual(100, caculator.GetVolume(12));
- Assert.AreEqual(100, caculator.GetVolume(13));
- Assert.AreEqual(100, caculator.GetVolume(14));
- Assert.AreEqual(100, caculator.GetVolume(15));
- Assert.AreEqual(100, caculator.GetVolume(16));
- Assert.AreEqual(100, caculator.GetVolume(17));
- Assert.AreEqual(100, caculator.GetVolume(18));
- Assert.AreEqual(100, caculator.GetVolume(19));
- Assert.AreEqual(100, caculator.GetVolume(20));
- Assert.AreEqual(200, caculator.GetVolume(21));
- Assert.AreEqual(200, caculator.GetVolume(22));
- Assert.AreEqual(200, caculator.GetVolume(23));
- Assert.AreEqual(200, caculator.GetVolume(24));
- Assert.AreEqual(200, caculator.GetVolume(25));
- Assert.AreEqual(200, caculator.GetVolume(30));
- }
- [TestMethod]
- public async Task Midpoint_PreferFloor_TestMethod1()
- {
- var caculator = new HeightToVolumeCaculator(new[] {
- new TankProfileData(){
- Height = 0,
- Volume = 0,
- },
- new TankProfileData(){
- Height = 10,
- Volume = 30,
- },
- new TankProfileData(){
- Height = 20,
- Volume = 100,
- },
- new TankProfileData(){
- Height = 30,
- Volume = 200,
- },
- });
- caculator.EstimateMode = HeightToVolumeCaculator.Mode.PreferFloor;
- Assert.AreEqual(0, caculator.GetVolume(0));
- Assert.AreEqual(0, caculator.GetVolume(1));
- Assert.AreEqual(0, caculator.GetVolume(2));
- Assert.AreEqual(0, caculator.GetVolume(3));
- Assert.AreEqual(0, caculator.GetVolume(4));
- Assert.AreEqual(0, caculator.GetVolume(5));
- Assert.AreEqual(0, caculator.GetVolume(6));
- Assert.AreEqual(0, caculator.GetVolume(7));
- Assert.AreEqual(0, caculator.GetVolume(8));
- Assert.AreEqual(0, caculator.GetVolume(9));
- Assert.AreEqual(30, caculator.GetVolume(10));
- Assert.AreEqual(30, caculator.GetVolume(11));
- Assert.AreEqual(30, caculator.GetVolume(12));
- Assert.AreEqual(30, caculator.GetVolume(13));
- Assert.AreEqual(30, caculator.GetVolume(14));
- Assert.AreEqual(30, caculator.GetVolume(15));
- Assert.AreEqual(30, caculator.GetVolume(16));
- Assert.AreEqual(30, caculator.GetVolume(17));
- Assert.AreEqual(30, caculator.GetVolume(18));
- Assert.AreEqual(30, caculator.GetVolume(19));
- Assert.AreEqual(100, caculator.GetVolume(20));
- Assert.AreEqual(100, caculator.GetVolume(21));
- Assert.AreEqual(100, caculator.GetVolume(22));
- Assert.AreEqual(100, caculator.GetVolume(23));
- Assert.AreEqual(100, caculator.GetVolume(24));
- Assert.AreEqual(100, caculator.GetVolume(25));
- Assert.AreEqual(200, caculator.GetVolume(30));
- }
- }
- }
|